Trait brotli::writer::Allocator

source ·
pub trait Allocator<T> {
    type AllocatedMemory: AllocatedSlice<T>;

    // Required methods
    fn alloc_cell(&mut self, len: usize) -> Self::AllocatedMemory;
    fn free_cell(&mut self, data: Self::AllocatedMemory);
}

Required Associated Types§

Required Methods§

source

fn alloc_cell(&mut self, len: usize) -> Self::AllocatedMemory

source

fn free_cell(&mut self, data: Self::AllocatedMemory)

Implementors§

source§

impl<'a, T, U> Allocator<T> for StackAllocator<'a, T, U>
where T: 'a, U: AllocatedSlice<&'a mut [T]>,

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<ContextType> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<Command<SliceOffset>> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<f32> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<i32> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<u8> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<u16> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<u32> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<u64> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<ZopfliNode> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<HistogramPair> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

§

type AllocatedMemory = <AllocHistogramPair as Allocator<HistogramPair>>::AllocatedMemory

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<Command> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<Compat16x16> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<CompatF8> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<HuffmanTree> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<HistogramCommand> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

§

type AllocatedMemory = <AllocHistogramCommand as Allocator<HistogramCommand>>::AllocatedMemory

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<HistogramDistance> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

§

type AllocatedMemory = <AllocHistogramDistance as Allocator<HistogramDistance>>::AllocatedMemory

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<HistogramLiteral> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

§

type AllocatedMemory = <AllocHistogramLiteral as Allocator<HistogramLiteral>>::AllocatedMemory

source§

impl<AllocU8: Allocator<u8>, AllocU16: Allocator<u16>, AllocI32: Allocator<i32>, AllocU32: Allocator<u32>, AllocU64: Allocator<u64>, AllocCommand: Allocator<Command>, AllocFloatX: Allocator<floatX>, AllocV8: Allocator<v8>, AllocS16: Allocator<s16>, AllocPDF: Allocator<PDF>, AllocStaticCommand: Allocator<StaticCommand>, AllocHistogramLiteral: Allocator<HistogramLiteral>, AllocHistogramCommand: Allocator<HistogramCommand>, AllocHistogramDistance: Allocator<HistogramDistance>, AllocHistogramPair: Allocator<HistogramPair>, AllocContextType: Allocator<ContextType>, AllocHuffmanTree: Allocator<HuffmanTree>, AllocZopfliNode: Allocator<ZopfliNode>> Allocator<PDF> for CombiningAllocator<AllocU8, AllocU16, AllocI32, AllocU32, AllocU64, AllocCommand, AllocFloatX, AllocV8, AllocS16, AllocPDF, AllocStaticCommand, AllocHistogramLiteral, AllocHistogramCommand, AllocHistogramDistance, AllocHistogramPair, AllocContextType, AllocHuffmanTree, AllocZopfliNode>

source§

impl<T> Allocator<T> for HeapAlloc<T>
where T: Clone,

source§

impl<T> Allocator<T> for StandardAlloc
where T: Clone + Default,