fn offset<T>(&self, off: isize) -> Self
        where Self: core::marker::Sized
    {
        let size = core::mem::size_of::<T>();
        if off > 0 {
            Self::new(self.addr() + (size * off as usize))
        } else {
            Self::new(self.addr().wrapping_add(size * off as usize))
        }
    }
// Simulate pointer arithmetic of adding/subtracting 4-byte int to address
Simulate pointer arithmetic of adding/subtracting 4-byte int to address
Simulate pointer arithmetic of adding / subtracting 4 - byte int to address
fn offset<T>(&self, off: isize) -> Self
        where Self: core::marker::Sized
    {
        let size = core::mem::size_of::<T>();
        if off > 0 {
            Self::new(self.addr() + (size * off as usize))
        } else {
            Self::new(self.addr().wrapping_add(size * off as usize))
        }
    }
fn offset < T > ( & self , off : isize ) -> Self where Self : core :: marker :: Sized { let size = core :: mem :: size_of :: < T > ( ) ; if off > 0 { Self :: new ( self . addr ( ) + ( size * off as usize ) ) } else { Self :: new ( self . addr ( ) . wrapping_add ( size * off as usize ) ) } }
Simulate pointer arithmetic of adding/subtracting 4-byte int to address
Simulate pointer arithmetic of adding / subtracting 4 - byte int to address
&self
off
isize
&self
off
isize