Trait ArithmeticEncoderOrDecoder

Source
pub trait ArithmeticEncoderOrDecoder: Sized {
    // Required methods
    fn mov(&mut self) -> Self;
    fn drain_or_fill_internal_buffer_unchecked(
        &mut self,
        input: &mut ReadableBytes<'_>,
        output: &mut WritableBytes<'_>,
    ) -> DivansResult;
    fn has_data_to_drain_or_fill(&self) -> bool;
    fn get_or_put_bit_without_billing(
        &mut self,
        bit: &mut bool,
        prob_of_false: u8,
    );
    fn get_or_put_nibble_without_billing<C: CDF16>(
        &mut self,
        nibble: &mut u8,
        prob: &C,
    ) -> ProbRange;
    fn close(&mut self) -> DivansResult;

    // Provided methods
    fn mov_consume(self) -> Self { ... }
    fn drain_or_fill_internal_buffer(
        &mut self,
        input: &mut ReadableBytes<'_>,
        output: &mut WritableBytes<'_>,
    ) -> DivansResult { ... }
    fn get_or_put_bit(
        &mut self,
        bit: &mut bool,
        prob_of_false: u8,
        _billing: BillingDesignation,
    ) { ... }
    fn get_or_put_nibble<C: CDF16>(
        &mut self,
        nibble: &mut u8,
        prob: &C,
        _billing: BillingDesignation,
    ) -> ProbRange { ... }
}

Required Methods§

Source

fn mov(&mut self) -> Self

Source

fn drain_or_fill_internal_buffer_unchecked( &mut self, input: &mut ReadableBytes<'_>, output: &mut WritableBytes<'_>, ) -> DivansResult

Source

fn has_data_to_drain_or_fill(&self) -> bool

Source

fn get_or_put_bit_without_billing(&mut self, bit: &mut bool, prob_of_false: u8)

Source

fn get_or_put_nibble_without_billing<C: CDF16>( &mut self, nibble: &mut u8, prob: &C, ) -> ProbRange

Source

fn close(&mut self) -> DivansResult

Provided Methods§

Source

fn mov_consume(self) -> Self

Source

fn drain_or_fill_internal_buffer( &mut self, input: &mut ReadableBytes<'_>, output: &mut WritableBytes<'_>, ) -> DivansResult

Source

fn get_or_put_bit( &mut self, bit: &mut bool, prob_of_false: u8, _billing: BillingDesignation, )

Source

fn get_or_put_nibble<C: CDF16>( &mut self, nibble: &mut u8, prob: &C, _billing: BillingDesignation, ) -> ProbRange

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<Decoder: EntropyDecoder + Clone> ArithmeticEncoderOrDecoder for Decoder