Trait xc3_write::Xc3Write

source ·
pub trait Xc3Write {
    type Offsets<'a>
       where Self: 'a;

    const ALIGNMENT: u64 = 4u64;

    // Required method
    fn xc3_write<W: Write + Seek>(
        &self,
        writer: &mut W
    ) -> Xc3Result<Self::Offsets<'_>>;

    // Provided method
    fn should_write(&self) -> Option<bool> { ... }
}
Expand description

The write pass that writes fields and placeholder offsets.

Required Associated Types§

source

type Offsets<'a> where Self: 'a

The type storing offset data to be used in Xc3WriteOffsets.

Provided Associated Constants§

source

const ALIGNMENT: u64 = 4u64

The alignment of absolute offsets for this type in bytes.

Required Methods§

source

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

Write all fields and placeholder offsets. This should almost always be derived for non primitive types.

Provided Methods§

source

fn should_write(&self) -> Option<bool>

Return Some(_) if the offset should be updated and Some(true) if the data should also be written. Defaults to Some(true).

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Xc3Write for f32

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

const ALIGNMENT: u64 = 4u64

source§

impl Xc3Write for i8

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

const ALIGNMENT: u64 = 1u64

source§

impl Xc3Write for i16

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

const ALIGNMENT: u64 = 2u64

source§

impl Xc3Write for i32

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

const ALIGNMENT: u64 = 4u64

source§

impl Xc3Write for i64

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

const ALIGNMENT: u64 = 4u64

source§

impl Xc3Write for u8

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

const ALIGNMENT: u64 = 1u64

source§

impl Xc3Write for u16

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

const ALIGNMENT: u64 = 2u64

source§

impl Xc3Write for u32

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

const ALIGNMENT: u64 = 4u64

source§

impl Xc3Write for u64

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

const ALIGNMENT: u64 = 4u64

source§

impl Xc3Write for ()

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, _writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

const ALIGNMENT: u64 = 1u64

source§

impl Xc3Write for String

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

const ALIGNMENT: u64 = 1u64

source§

impl<A: Xc3Write, B: Xc3Write> Xc3Write for (A, B)

§

type Offsets<'a> = (<A as Xc3Write>::Offsets<'a>, <B as Xc3Write>::Offsets<'a>) where A: 'a, B: 'a

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

impl<T> Xc3Write for Option<T>
where T: Xc3Write,

§

type Offsets<'a> = Option<<T as Xc3Write>::Offsets<'a>> where Self: 'a

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

fn should_write(&self) -> Option<bool>

source§

const ALIGNMENT: u64 = T::ALIGNMENT

source§

impl<T> Xc3Write for Vec<T>
where T: Xc3Write + 'static,

§

type Offsets<'a> = VecOffsets<<T as Xc3Write>::Offsets<'a>>

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

fn should_write(&self) -> Option<bool>

source§

impl<T: Xc3Write> Xc3Write for Box<T>

§

type Offsets<'a> = <T as Xc3Write>::Offsets<'a> where Self: 'a

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

source§

impl<const N: usize, T> Xc3Write for [T; N]
where T: Xc3Write + 'static,

§

type Offsets<'a> = ()

source§

fn xc3_write<W: Write + Seek>( &self, writer: &mut W ) -> Xc3Result<Self::Offsets<'_>>

Implementors§