Function std::ptr::copy_memory[src]

pub unsafe fn copy_memory<T>(dst: *mut T, src: *T, count: uint)

Copies data from one location to another.

Copies count elements (not bytes) from src to dst. The source and destination may overlap.

copy_memory is semantically equivalent to C's memmove.


Efficiently create a Rust vector from an unsafe buffer:

use std::ptr;

unsafe fn from_buf_raw<T>(ptr: *T, elts: uint) -> Vec<T> {
    let mut dst = Vec::with_capacity(elts);
    ptr::copy_memory(dst.as_mut_ptr(), ptr, elts);