FullBuilderTrait

Trait FullBuilderTrait 

Source
pub trait FullBuilderTrait {
    type Entry: EntryDef;

    // Required methods
    fn new(properties: &AllProperties) -> Self;
    fn create_file(
        &self,
        idx: EntryIdx,
        reader: &ByteSlice<'_>,
    ) -> Result<<Self::Entry as EntryDef>::File>;
    fn create_link(
        &self,
        idx: EntryIdx,
        reader: &ByteSlice<'_>,
    ) -> Result<<Self::Entry as EntryDef>::Link>;
    fn create_dir(
        &self,
        idx: EntryIdx,
        reader: &ByteSlice<'_>,
    ) -> Result<<Self::Entry as EntryDef>::Dir>;
}

Required Associated Types§

Source

type Entry: EntryDef

Required Methods§

Source

fn new(properties: &AllProperties) -> Self

Source

fn create_file( &self, idx: EntryIdx, reader: &ByteSlice<'_>, ) -> Result<<Self::Entry as EntryDef>::File>

Source

fn create_dir( &self, idx: EntryIdx, reader: &ByteSlice<'_>, ) -> Result<<Self::Entry as EntryDef>::Dir>

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.

Implementations on Foreign Types§

Source§

impl<F, L, D> FullBuilderTrait for (F, L, D)
where F: Builder, L: Builder, D: Builder,

Source§

type Entry = (<F as Builder>::Entry, <L as Builder>::Entry, <D as Builder>::Entry)

Source§

fn new(properties: &AllProperties) -> Self

Source§

fn create_file( &self, idx: EntryIdx, reader: &ByteSlice<'_>, ) -> Result<<Self::Entry as EntryDef>::File>

Source§

fn create_dir( &self, idx: EntryIdx, reader: &ByteSlice<'_>, ) -> Result<<Self::Entry as EntryDef>::Dir>

Implementors§