pub trait ReaderOffset: Debug + Copy + Eq + Ord + Hash + Add<Output = Self> + AddAssign + Sub<Output = Self> {
    // Required methods
    fn from_u8(offset: u8) -> Self;
    fn from_u16(offset: u16) -> Self;
    fn from_i16(offset: i16) -> Self;
    fn from_u32(offset: u32) -> Self;
    fn from_u64(offset: u64) -> Result<Self>;
    fn into_u64(self) -> u64;
    fn wrapping_add(self, other: Self) -> Self;
    fn checked_sub(self, other: Self) -> Option<Self>;
}
Expand description

A trait for offsets with a DWARF section.

This allows consumers to choose a size that is appropriate for their address space.

Required Methods§

source

fn from_u8(offset: u8) -> Self

Convert a u8 to an offset.

source

fn from_u16(offset: u16) -> Self

Convert a u16 to an offset.

source

fn from_i16(offset: i16) -> Self

Convert an i16 to an offset.

source

fn from_u32(offset: u32) -> Self

Convert a u32 to an offset.

source

fn from_u64(offset: u64) -> Result<Self>

Convert a u64 to an offset.

Returns Error::UnsupportedOffset if the value is too large.

source

fn into_u64(self) -> u64

Convert an offset to a u64.

source

fn wrapping_add(self, other: Self) -> Self

Wrapping (modular) addition. Computes self + other.

source

fn checked_sub(self, other: Self) -> Option<Self>

Checked subtraction. Computes self - other.

Implementations on Foreign Types§

source§

impl ReaderOffset for u32

source§

fn from_u8(offset: u8) -> Self

source§

fn from_u16(offset: u16) -> Self

source§

fn from_i16(offset: i16) -> Self

source§

fn from_u32(offset: u32) -> Self

source§

fn from_u64(offset64: u64) -> Result<Self>

source§

fn into_u64(self) -> u64

source§

fn wrapping_add(self, other: Self) -> Self

source§

fn checked_sub(self, other: Self) -> Option<Self>

source§

impl ReaderOffset for usize

source§

fn from_u8(offset: u8) -> Self

source§

fn from_u16(offset: u16) -> Self

source§

fn from_i16(offset: i16) -> Self

source§

fn from_u32(offset: u32) -> Self

source§

fn from_u64(offset64: u64) -> Result<Self>

source§

fn into_u64(self) -> u64

source§

fn wrapping_add(self, other: Self) -> Self

source§

fn checked_sub(self, other: Self) -> Option<Self>

source§

impl ReaderOffset for u64

source§

fn from_u8(offset: u8) -> Self

source§

fn from_u16(offset: u16) -> Self

source§

fn from_i16(offset: i16) -> Self

source§

fn from_u32(offset: u32) -> Self

source§

fn from_u64(offset: u64) -> Result<Self>

source§

fn into_u64(self) -> u64

source§

fn wrapping_add(self, other: Self) -> Self

source§

fn checked_sub(self, other: Self) -> Option<Self>

Implementors§