VariantStructBinarySerde

Trait VariantStructBinarySerde 

Source
pub trait VariantStructBinarySerde<'a>: Sized {
    type Context: Clone;

    // Required methods
    fn deserialize(
        deserializer: &mut BinaryDeserializerFromBufSafe<'a>,
        parser: &ElfParser<'a>,
        context: Self::Context,
    ) -> Result<Self, BinarySerdeBufSafeError>;
    fn serialize(&self, buf: &mut [u8], endianness: Endianness);
    fn record_len(file_info: &ElfFileInfo) -> usize;
}

Required Associated Types§

Required Methods§

Source

fn deserialize( deserializer: &mut BinaryDeserializerFromBufSafe<'a>, parser: &ElfParser<'a>, context: Self::Context, ) -> Result<Self, BinarySerdeBufSafeError>

Source

fn serialize(&self, buf: &mut [u8], endianness: Endianness)

Source

fn record_len(file_info: &ElfFileInfo) -> usize

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.

Implementors§

Source§

impl<'a> VariantStructBinarySerde<'a> for ElfHeader

Source§

impl<'a> VariantStructBinarySerde<'a> for ProgramHeader

Source§

impl<'a> VariantStructBinarySerde<'a> for Rel

Source§

impl<'a> VariantStructBinarySerde<'a> for RelInfoRegular

Source§

impl<'a> VariantStructBinarySerde<'a> for RelRegular

Source§

impl<'a> VariantStructBinarySerde<'a> for Rela

Source§

impl<'a> VariantStructBinarySerde<'a> for RelaRegular

Source§

impl<'a> VariantStructBinarySerde<'a> for SectionHeader

Source§

impl<'a> VariantStructBinarySerde<'a> for Symbol

Source§

impl<'a> VariantStructBinarySerde<'a> for ElfHeaderRef<'a>
where ElfHeader: VariantStructBinarySerde<'a, Context = ()>,

Source§

impl<'a> VariantStructBinarySerde<'a> for ProgramHeaderRef<'a>

Source§

impl<'a> VariantStructBinarySerde<'a> for RelInfoRegularRef<'a>

Source§

impl<'a> VariantStructBinarySerde<'a> for RelRegularRef<'a>
where RelRegular: VariantStructBinarySerde<'a, Context = ()>,

Source§

impl<'a> VariantStructBinarySerde<'a> for RelaRegularRef<'a>
where RelaRegular: VariantStructBinarySerde<'a, Context = ()>,

Source§

impl<'a> VariantStructBinarySerde<'a> for SectionHeaderRef<'a>

Source§

impl<'a> VariantStructBinarySerde<'a> for SymbolRef<'a>
where Symbol: VariantStructBinarySerde<'a, Context = ()>,