pub struct RunLengthEncoder;Expand description
Run-Length Encoding implementation
Implementations§
Source§impl RunLengthEncoder
impl RunLengthEncoder
Sourcepub fn encode_u64(values: &[u64]) -> Vec<u8> ⓘ
pub fn encode_u64(values: &[u64]) -> Vec<u8> ⓘ
Encode a u64 sequence using run-length encoding.
Consecutive equal values are grouped into runs of (value: u64 LE, count: u32 LE) = 12 bytes.
Sourcepub fn decode_u64(data: &[u8]) -> Result<Vec<u64>>
pub fn decode_u64(data: &[u8]) -> Result<Vec<u64>>
Decode a u64 run-length encoded byte sequence produced by encode_u64.
Sourcepub fn estimate_compression_ratio(data: &[u8]) -> f64
pub fn estimate_compression_ratio(data: &[u8]) -> f64
Estimate compression ratio for given data
Trait Implementations§
Source§impl CompressionAlgorithm for RunLengthEncoder
impl CompressionAlgorithm for RunLengthEncoder
Source§fn compress(&self, data: &[u8]) -> Result<CompressedData>
fn compress(&self, data: &[u8]) -> Result<CompressedData>
Compress data and return compressed bytes with metadata
Source§fn decompress(&self, compressed: &CompressedData) -> Result<Vec<u8>>
fn decompress(&self, compressed: &CompressedData) -> Result<Vec<u8>>
Decompress data
Source§fn algorithm_type(&self) -> AdvancedCompressionType
fn algorithm_type(&self) -> AdvancedCompressionType
Get algorithm type
Auto Trait Implementations§
impl Freeze for RunLengthEncoder
impl RefUnwindSafe for RunLengthEncoder
impl Send for RunLengthEncoder
impl Sync for RunLengthEncoder
impl Unpin for RunLengthEncoder
impl UnsafeUnpin for RunLengthEncoder
impl UnwindSafe for RunLengthEncoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more