ALib C++ Library
Library Version: 2312 R0
Documentation generated by doxygen
Classes | Functions
aworx::lib::bitbuffer::ac_v1 Namespace Reference

This sub-namespace of ALib BitBuffer provides algorithms to compress integral arrays. Classes ac_v1::ArrayCompressor and ac_v1::HuffmanEncoder implement some data formats defined on bit-streams, which, in future versions of ALib, may be changed. With such future changes, theses classes will be published in a next enumerated namespace, parallel to this one.
This approach will allow software to read existing datasets from files (explicitly using older versions of the classes by selecting them via the namespace) and convert the data to the new binary format.

Type aliases aworx::ArrayCompressor, aworx::HuffmanEncoder and aworx::HuffmanDecoder will always refer to the latest version.

Note
Currently, there is no other version of the class available.

Classes

class  ArrayCompressor
 
class  HuffmanDecoder
 
class  HuffmanEncoder
 

Functions

template<typename TI >
void readHuffman (BitReader &br, ArrayCompressor::Array< TI > &data)
 
template<typename TI >
void readIncremental (BitReader &br, ArrayCompressor::Array< TI > &data)
 
template<typename TI >
void readMinMax (BitReader &br, ArrayCompressor::Array< TI > &data)
 
template<typename TI >
void readSparse (BitReader &br, ArrayCompressor::Array< TI > &data)
 
template<typename TI >
void readUncompressed (BitReader &br, ArrayCompressor::Array< TI > &data)
 
template<typename TI >
void readVerySparse (BitReader &br, ArrayCompressor::Array< TI > &data)
 
template<typename TI >
void writeHuffman (BitWriter &bw, ArrayCompressor::Array< TI > &data)
 
template<typename TI >
void writeIncremental (BitWriter &bw, ArrayCompressor::Array< TI > &data)
 
template<typename TI >
void writeMinMax (BitWriter &bw, ArrayCompressor::Array< TI > &data)
 
template<typename TI >
void writeSparse (BitWriter &bw, ArrayCompressor::Array< TI > &data)
 
template<typename TI >
void writeUncompressed (BitWriter &bw, ArrayCompressor::Array< TI > &data)
 
template<typename TI >
void writeVerySparse (BitWriter &bw, ArrayCompressor::Array< TI > &data)
 

Function Documentation

◆ readHuffman()

void aworx::lib::bitbuffer::ac_v1::readHuffman ( BitReader br,
ArrayCompressor::Array< TI > &  data 
)

Reads data compressed using class HuffmanDecoder.

Template Parameters
TIThe integral type of the array to read back.
Parameters
brThe bit reader to use.
dataThe array to read the data to.

Definition at line 81 of file acalgos.inl.

Here is the call graph for this function:

◆ readIncremental()

void aworx::lib::bitbuffer::ac_v1::readIncremental ( BitReader br,
ArrayCompressor::Array< TI > &  data 
)

Reads data compressed with writeIncremental.

Template Parameters
TIThe integral type of the array to read back.
Parameters
brThe bit reader to use.
dataThe array to read the data to.

Definition at line 427 of file acalgos.inl.

Here is the call graph for this function:

◆ readMinMax()

void aworx::lib::bitbuffer::ac_v1::readMinMax ( BitReader br,
ArrayCompressor::Array< TI > &  data 
)

Reads data compressed with method writeMinMax.

Template Parameters
TIThe integral type of the array to read back.
Parameters
brThe bit reader to use.
dataThe array to read the data to.

Definition at line 171 of file acalgos.inl.

Here is the call graph for this function:

◆ readSparse()

void aworx::lib::bitbuffer::ac_v1::readSparse ( BitReader br,
ArrayCompressor::Array< TI > &  data 
)

Reads data compressed with method writeSparse.

Template Parameters
TIThe integral type of the array to read back.
Parameters
brThe bit reader to use.
dataThe array to read the data to.

Definition at line 222 of file acalgos.inl.

Here is the call graph for this function:

◆ readUncompressed()

void aworx::lib::bitbuffer::ac_v1::readUncompressed ( BitReader br,
ArrayCompressor::Array< TI > &  data 
)

Reads data compressed using simply the mechanics provided with class BitWriter which tries to shorten integrals on writing.

Template Parameters
TIThe integral type of the array to read back.
Parameters
brThe bit reader to use.
dataThe array to read the data to.

Definition at line 130 of file acalgos.inl.

Here is the call graph for this function:

◆ readVerySparse()

void aworx::lib::bitbuffer::ac_v1::readVerySparse ( BitReader br,
ArrayCompressor::Array< TI > &  data 
)

Reads data compressed with method writeVerySparse.

Template Parameters
TIThe integral type of the array to read back.
Parameters
brThe bit reader to use.
dataThe array to read the data to.

Definition at line 336 of file acalgos.inl.

Here is the call graph for this function:

◆ writeHuffman()

void aworx::lib::bitbuffer::ac_v1::writeHuffman ( BitWriter bw,
ArrayCompressor::Array< TI > &  data 
)

Writes data compressed using class HuffmanEncoder.

Template Parameters
TIThe integral type of the array to write.
Parameters
bwThe bit writer to use.
dataThe array to read the data from.

Definition at line 29 of file acalgos.inl.

Here is the call graph for this function:

◆ writeIncremental()

void aworx::lib::bitbuffer::ac_v1::writeIncremental ( BitWriter bw,
ArrayCompressor::Array< TI > &  data 
)

Writes array data incrementally.

Template Parameters
TIThe integral type of the array to write.
Parameters
bwThe bit writer to use.
dataThe array to read the data from.

Definition at line 374 of file acalgos.inl.

Here is the call graph for this function:

◆ writeMinMax()

void aworx::lib::bitbuffer::ac_v1::writeMinMax ( BitWriter bw,
ArrayCompressor::Array< TI > &  data 
)

Writes array data by writing only the difference to the minimum found value.

Template Parameters
TIThe integral type of the array to write.
Parameters
bwThe bit writer to use.
dataThe array to read the data from.

Definition at line 144 of file acalgos.inl.

Here is the call graph for this function:

◆ writeSparse()

void aworx::lib::bitbuffer::ac_v1::writeSparse ( BitWriter bw,
ArrayCompressor::Array< TI > &  data 
)

Writes array data assuming it is sparsely set.

Template Parameters
TIThe integral type of the array to write.
Parameters
bwThe bit writer to use.
dataThe array to read the data from.

Definition at line 194 of file acalgos.inl.

Here is the call graph for this function:

◆ writeUncompressed()

void aworx::lib::bitbuffer::ac_v1::writeUncompressed ( BitWriter bw,
ArrayCompressor::Array< TI > &  data 
)

Writes array data by simply using the mechanics provided with class BitWriter, which tries to shorten integrals on writing.

Template Parameters
TIThe integral type of the array to write.
Parameters
bwThe bit writer to use.
dataThe array to read the data from.

Definition at line 114 of file acalgos.inl.

Here is the call graph for this function:

◆ writeVerySparse()

void aworx::lib::bitbuffer::ac_v1::writeVerySparse ( BitWriter bw,
ArrayCompressor::Array< TI > &  data 
)

Writes array data assuming it is very sparsely set.

Template Parameters
TIThe integral type of the array to write.
Parameters
bwThe bit writer to use.
dataThe array to read the data from.

Definition at line 241 of file acalgos.inl.

Here is the call graph for this function: