pub trait Dyn: Debug + Pod {
type Word: Into<u64>;
type Endian: Endian;
// Required methods
fn d_tag(&self, endian: Self::Endian) -> Self::Word;
fn d_val(&self, endian: Self::Endian) -> Self::Word;
// Provided methods
fn tag32(&self, endian: Self::Endian) -> Option<u32> { ... }
fn val32(&self, endian: Self::Endian) -> Option<u32> { ... }
fn is_string(&self, endian: Self::Endian) -> bool { ... }
fn string<'data>(
&self,
endian: Self::Endian,
strings: StringTable<'data>,
) -> Result<&'data [u8]> { ... }
fn is_address(&self, endian: Self::Endian) -> bool { ... }
}
Expand description
A trait for generic access to Dyn32
and Dyn64
.
Required Associated Types§
Required Methods§
fn d_tag(&self, endian: Self::Endian) -> Self::Word
fn d_val(&self, endian: Self::Endian) -> Self::Word
Provided Methods§
Sourcefn is_string(&self, endian: Self::Endian) -> bool
fn is_string(&self, endian: Self::Endian) -> bool
Return true if the value is an offset in the dynamic string table.
Sourcefn string<'data>(
&self,
endian: Self::Endian,
strings: StringTable<'data>,
) -> Result<&'data [u8]>
fn string<'data>( &self, endian: Self::Endian, strings: StringTable<'data>, ) -> Result<&'data [u8]>
Use the value to get a string in a string table.
Does not check for an appropriate tag.
Sourcefn is_address(&self, endian: Self::Endian) -> bool
fn is_address(&self, endian: Self::Endian) -> bool
Return true if the value is an address.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.