1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
use std::mem::size_of; pub trait PointerExt { fn uoffset(self, off: usize) -> Self; } impl<T> PointerExt for *const T { #[inline] fn uoffset(self, off: usize) -> Self { (self as usize + off * size_of::<T>()) as *const _ } } impl<T> PointerExt for *mut T { #[inline] fn uoffset(self, off: usize) -> Self { (self as usize + off * size_of::<T>()) as *mut _ } }