Trait CodebookDescReader

Source
pub trait CodebookDescReader<S> {
    // Required methods
    fn bits(&self, idx: usize) -> u8;
    fn code(&self, idx: usize) -> u32;
    fn sym(&self, idx: usize) -> S;
    fn len(&self) -> usize;
    fn is_empty(&self) -> bool;
}
Expand description

This trait defines a series of methods to get some information from a codebook.

Required Methods§

Source

fn bits(&self, idx: usize) -> u8

Returns the codeword length for the provided index.

Source

fn code(&self, idx: usize) -> u32

Returns the codeword bits for the provided index.

Source

fn sym(&self, idx: usize) -> S

Returns the codeword value (codeword symbol) for the provided index.

Source

fn len(&self) -> usize

Returns the total number of defined codewords.

Source

fn is_empty(&self) -> bool

Tells if the codebook is empty or not.

Implementations on Foreign Types§

Source§

impl CodebookDescReader<u32> for Vec<ShortCodebookDesc>

Source§

fn bits(&self, idx: usize) -> u8

Source§

fn code(&self, idx: usize) -> u32

Source§

fn sym(&self, idx: usize) -> u32

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Source§

impl<'a> CodebookDescReader<u32> for &'a [ShortCodebookDesc]

Source§

fn bits(&self, idx: usize) -> u8

Source§

fn code(&self, idx: usize) -> u32

Source§

fn sym(&self, idx: usize) -> u32

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Source§

impl<'a, S: Copy> CodebookDescReader<S> for &'a [FullCodebookDesc<S>]

Source§

fn bits(&self, idx: usize) -> u8

Source§

fn code(&self, idx: usize) -> u32

Source§

fn sym(&self, idx: usize) -> S

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Source§

impl<S: Copy> CodebookDescReader<S> for Vec<FullCodebookDesc<S>>

Source§

fn bits(&self, idx: usize) -> u8

Source§

fn code(&self, idx: usize) -> u32

Source§

fn sym(&self, idx: usize) -> S

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Implementors§

Source§

impl<CodeType, SymType> CodebookDescReader<SymType> for TableCodebookDescReader<CodeType, SymType>
where CodeType: Copy + Into<u32> + 'static, SymType: Copy + 'static, usize: AsPrimitive<SymType>,