Unsafe pointer utility functions
extensions for *T
- Extension methods for pointersaddr_of
- Get an unsafe pointer to a valuebuf_len
- Return the offset of the first null pointer in buf
.const_offset
- Calculate the offset from a const pointeris_not_null
- Returns true if the pointer is not equal to the null pointer.is_null
- Returns true if the pointer is equal to the null pointer.memcpy
- Copies data from one location to anothermemmove
- Copies data from one location to anothermemset
mut_addr_of
- Get an unsafe mut pointer to a valuemut_offset
- Calculate the offset from a mut pointernull
- Create an unsafe null pointeroffset
- Calculate the offset from a pointerposition
- Return the first offset i
such that f(buf[i]) == true
.extensions for *T
Extension methods for pointers
is_null
pure fn is_null() -> bool
Returns true if the pointer is equal to the null pointer.
is_not_null
pure fn is_not_null() -> bool
Returns true if the pointer is not equal to the null pointer.
addr_of
pure fn addr_of<T>(val: T) -> *T
Get an unsafe pointer to a value
buf_len
unsafe fn buf_len<T>(buf: **T) -> uint
Return the offset of the first null pointer in buf
.
const_offset
fn const_offset<T>(ptr: *const T, count: uint) -> *const T
Calculate the offset from a const pointer
is_not_null
pure fn is_not_null<T>(ptr: *const T) -> bool
Returns true if the pointer is not equal to the null pointer.
is_null
pure fn is_null<T>(ptr: *const T) -> bool
Returns true if the pointer is equal to the null pointer.
memcpy
unsafe fn memcpy<T>(dst: *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 not overlap.
memmove
unsafe fn memmove<T>(dst: *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.
memset
unsafe fn memset<T>(dst: *mut T, c: int, count: uint)
mut_addr_of
pure fn mut_addr_of<T>(val: T) -> *mut T
Get an unsafe mut pointer to a value
mut_offset
fn mut_offset<T>(ptr: *mut T, count: uint) -> *mut T
Calculate the offset from a mut pointer
null
pure fn null<T>() -> *T
Create an unsafe null pointer
offset
fn offset<T>(ptr: *T, count: uint) -> *T
Calculate the offset from a pointer
position
unsafe fn position<T>(buf: *T, f: fn(T) -> bool) -> uint
Return the first offset i
such that f(buf[i]) == true
.