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§
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
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.