pub trait TypedWrite: Sized {
    type TupleWriter: WriteTuple<Parent = Self>;
    type StructWriter: WriteStruct<Parent = Self>;
    type UnionDefiner: DefineUnion<Parent = Self>;

    // Required methods
    fn write_union<T: StrictUnion>(
        self,
        inner: impl FnOnce(Self::UnionDefiner) -> Result<Self>
    ) -> Result<Self>;
    fn write_enum<T: StrictEnum>(self, value: T) -> Result<Self>
       where u8: From<T>;
    fn write_tuple<T: StrictTuple>(
        self,
        inner: impl FnOnce(Self::TupleWriter) -> Result<Self>
    ) -> Result<Self>;
    fn write_struct<T: StrictStruct>(
        self,
        inner: impl FnOnce(Self::StructWriter) -> Result<Self>
    ) -> Result<Self>;

    // Provided method
    fn write_newtype<T: StrictTuple>(
        self,
        value: &impl StrictEncode
    ) -> Result<Self> { ... }
}

Required Associated Types§

source

type TupleWriter: WriteTuple<Parent = Self>

source

type StructWriter: WriteStruct<Parent = Self>

source

type UnionDefiner: DefineUnion<Parent = Self>

Required Methods§

source

fn write_union<T: StrictUnion>( self, inner: impl FnOnce(Self::UnionDefiner) -> Result<Self> ) -> Result<Self>

source

fn write_enum<T: StrictEnum>(self, value: T) -> Result<Self>where u8: From<T>,

source

fn write_tuple<T: StrictTuple>( self, inner: impl FnOnce(Self::TupleWriter) -> Result<Self> ) -> Result<Self>

source

fn write_struct<T: StrictStruct>( self, inner: impl FnOnce(Self::StructWriter) -> Result<Self> ) -> Result<Self>

Provided Methods§

source

fn write_newtype<T: StrictTuple>(self, value: &impl StrictEncode) -> Result<Self>

Implementors§