[−][src]Crate rawpointer
Rawpointer adds extra utility methods to raw pointers *const T, *mut T
and NonNull<T>.
Features include:
-
Strided offsets -
.stride_offset(stride, index)make it easy to compute pointer offsets where the index is unsigned and the stride is signed. -
Offsetting methods in general for
NonNull, since it does not have these from libcore -
Post- and preincrement and post- and predecrement methods
- For
p++usep.post_inc(). - For
++pusep.pre_inc(). - For
p--usep.post_dec(). - For
--pusep.pre_dec().
- For
use rawpointer::PointerExt; unsafe { // In this example: // Use .ptr_inc() to iterate and overwrite the first four // elements of the array. let mut xs = [0; 16]; let mut ptr = xs.as_mut_ptr(); let end = ptr.offset(4); let mut i = 0; while ptr != end { *ptr.post_inc() = i; i += 1; } assert_eq!(&xs[..8], &[0, 1, 2, 3, 0, 0, 0, 0]); }
Rust Version
This version of the crate requires Rust 1.26 or later
Traits
| PointerExt | Extension methods for raw pointers |
Functions
| ptrdistance | Return the number of elements of |