Struct brotli::enc::brotli_bit_stream::BlockEncoder

source ·
pub struct BlockEncoder<'a, Alloc: Allocator<u8> + Allocator<u16>> {
    pub histogram_length_: usize,
    pub num_block_types_: usize,
    pub block_types_: &'a [u8],
    pub block_lengths_: &'a [u32],
    pub num_blocks_: usize,
    pub block_split_code_: BlockSplitCode,
    pub block_ix_: usize,
    pub block_len_: usize,
    pub entropy_ix_: usize,
    pub depths_: <Alloc as Allocator<u8>>::AllocatedMemory,
    pub bits_: <Alloc as Allocator<u16>>::AllocatedMemory,
}

Fields§

§histogram_length_: usize§num_block_types_: usize§block_types_: &'a [u8]§block_lengths_: &'a [u32]§num_blocks_: usize§block_split_code_: BlockSplitCode§block_ix_: usize§block_len_: usize§entropy_ix_: usize§depths_: <Alloc as Allocator<u8>>::AllocatedMemory§bits_: <Alloc as Allocator<u16>>::AllocatedMemory

Implementations§

source§

impl<'a, Alloc: Allocator<u8> + Allocator<u16>> BlockEncoder<'a, Alloc>

source

fn new( histogram_length: usize, num_block_types: usize, block_types: &'a [u8], block_lengths: &'a [u32], num_blocks: usize, ) -> Self

source§

impl<Alloc: Allocator<u8> + Allocator<u16>> BlockEncoder<'_, Alloc>

source

fn build_and_store_block_switch_entropy_codes( &mut self, tree: &mut [HuffmanTree], storage_ix: &mut usize, storage: &mut [u8], )

source§

impl<Alloc: Allocator<u8> + Allocator<u16>> BlockEncoder<'_, Alloc>

source

fn build_and_store_entropy_codes<HistogramType: SliceWrapper<u32>>( &mut self, m: &mut Alloc, histograms: &[HistogramType], histograms_size: usize, alphabet_size: usize, tree: &mut [HuffmanTree], storage_ix: &mut usize, storage: &mut [u8], )

source

fn store_symbol( &mut self, symbol: usize, storage_ix: &mut usize, storage: &mut [u8], )

source§

impl<Alloc: Allocator<u8> + Allocator<u16>> BlockEncoder<'_, Alloc>

source

fn store_symbol_with_context( &mut self, symbol: usize, context: usize, context_map: &[u32], storage_ix: &mut usize, storage: &mut [u8], context_bits: usize, )

source§

impl<Alloc: Allocator<u8> + Allocator<u16>> BlockEncoder<'_, Alloc>

source

fn cleanup(&mut self, m: &mut Alloc)

Auto Trait Implementations§

§

impl<'a, Alloc> Freeze for BlockEncoder<'a, Alloc>

§

impl<'a, Alloc> RefUnwindSafe for BlockEncoder<'a, Alloc>

§

impl<'a, Alloc> Send for BlockEncoder<'a, Alloc>
where <Alloc as Allocator<u8>>::AllocatedMemory: Send, <Alloc as Allocator<u16>>::AllocatedMemory: Send,

§

impl<'a, Alloc> Sync for BlockEncoder<'a, Alloc>
where <Alloc as Allocator<u8>>::AllocatedMemory: Sync, <Alloc as Allocator<u16>>::AllocatedMemory: Sync,

§

impl<'a, Alloc> Unpin for BlockEncoder<'a, Alloc>
where <Alloc as Allocator<u8>>::AllocatedMemory: Unpin, <Alloc as Allocator<u16>>::AllocatedMemory: Unpin,

§

impl<'a, Alloc> UnwindSafe for BlockEncoder<'a, Alloc>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.