pub trait WriteBitStream<S: Semantics> {
    type WriteError;

    // Required methods
    fn write_bit(&mut self, bit: bool) -> Result<(), Self::WriteError>;
    fn encode_symbol<Symbol, C>(
        &mut self,
        symbol: Symbol,
        codebook: C
    ) -> Result<(), CoderError<DefaultEncoderFrontendError, Self::WriteError>>
       where C: EncoderCodebook,
             Symbol: Borrow<C::Symbol>;

    // Provided methods
    fn encode_symbols<Symbol, C>(
        &mut self,
        symbols_and_codebooks: impl IntoIterator<Item = (Symbol, C)>
    ) -> Result<(), CoderError<DefaultEncoderFrontendError, Self::WriteError>>
       where C: EncoderCodebook,
             Symbol: Borrow<C::Symbol> { ... }
    fn encode_iid_symbols<Symbol, C>(
        &mut self,
        symbols: impl IntoIterator<Item = Symbol>,
        codebook: &C
    ) -> Result<(), CoderError<DefaultEncoderFrontendError, Self::WriteError>>
       where C: EncoderCodebook,
             Symbol: Borrow<C::Symbol> { ... }
}

Required Associated Types§

Required Methods§

source

fn write_bit(&mut self, bit: bool) -> Result<(), Self::WriteError>

source

fn encode_symbol<Symbol, C>( &mut self, symbol: Symbol, codebook: C ) -> Result<(), CoderError<DefaultEncoderFrontendError, Self::WriteError>>
where C: EncoderCodebook, Symbol: Borrow<C::Symbol>,

Provided Methods§

source

fn encode_symbols<Symbol, C>( &mut self, symbols_and_codebooks: impl IntoIterator<Item = (Symbol, C)> ) -> Result<(), CoderError<DefaultEncoderFrontendError, Self::WriteError>>
where C: EncoderCodebook, Symbol: Borrow<C::Symbol>,

source

fn encode_iid_symbols<Symbol, C>( &mut self, symbols: impl IntoIterator<Item = Symbol>, codebook: &C ) -> Result<(), CoderError<DefaultEncoderFrontendError, Self::WriteError>>
where C: EncoderCodebook, Symbol: Borrow<C::Symbol>,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Word: BitArray, B: WriteWords<Word>> WriteBitStream<Queue> for QueueEncoder<Word, B>

§

type WriteError = <B as WriteWords<Word>>::WriteError

source§

impl<Word: BitArray, B: WriteWords<Word>> WriteBitStream<Stack> for StackCoder<Word, B>

§

type WriteError = <B as WriteWords<Word>>::WriteError