Struct q_compress::Flags
source · [−]Expand description
The configuration stored in a .qco file’s header.
During compression, flags are determined based on your CompressorConfig
and the q_compress
version.
Flags affect the encoding of the rest of the file, so decompressing with
the wrong flags will likely cause a corruption error.
Most users will not need to manually instantiate flags; that should be done
internally by Compressor::from_config
.
However, in some circumstances you may want to inspect flags during
decompression.
Fields
use_5_bit_prefix_len: bool
Whether to use 5 bits to encode the length of a prefix,
as opposed to 4.
Earlier versions of q_compress
used 4, which was insufficient for
Huffman prefixes that could reach up to 23 in length
(23 >= 16 = 2^4)
in spiky distributions with high compression level.
In later versions, this flag is always true.
delta_encoding_order: usize
How many times delta encoding was applied during compression.
This is stored as 3 bits to express 0-7
See CompressorConfig
for more details.
Implementations
sourceimpl Flags
impl Flags
pub fn parse_from(reader: &mut BitReader<'_>) -> QCompressResult<Self>
pub fn write(&self, writer: &mut BitWriter) -> QCompressResult<()>
pub fn bits_to_encode_prefix_len(&self) -> usize
Trait Implementations
sourceimpl From<&'_ CompressorConfig> for Flags
impl From<&'_ CompressorConfig> for Flags
sourcefn from(config: &CompressorConfig) -> Self
fn from(config: &CompressorConfig) -> Self
Performs the conversion.
sourceimpl TryFrom<Vec<bool, Global>> for Flags
impl TryFrom<Vec<bool, Global>> for Flags
type Error = QCompressError
type Error = QCompressError
The type returned in the event of a conversion error.
sourcefn try_from(bools: Vec<bool>) -> QCompressResult<Self>
fn try_from(bools: Vec<bool>) -> QCompressResult<Self>
Performs the conversion.
sourceimpl TryInto<Vec<bool, Global>> for &Flags
impl TryInto<Vec<bool, Global>> for &Flags
type Error = QCompressError
type Error = QCompressError
The type returned in the event of a conversion error.
sourcefn try_into(self) -> QCompressResult<Vec<bool>>
fn try_into(self) -> QCompressResult<Vec<bool>>
Performs the conversion.
impl Eq for Flags
impl StructuralEq for Flags
impl StructuralPartialEq for Flags
Auto Trait Implementations
impl RefUnwindSafe for Flags
impl Send for Flags
impl Sync for Flags
impl Unpin for Flags
impl UnwindSafe for Flags
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more