Octane v1.01.20 - The Open Compression Toolkit for C++ | http://octane.sourceforge.net/ |
Since there is little support for this in C/C++, most applications implement their own functionality, resulting in a plethora of choices and characteristics.
The bitio wrapper classes are my addition to this confusion. They represent the choices I found most appropriate for the uses I have. I am releasing them in the hope that others will find them useful too.
The main design choice was to implement a hierarchy of classes, so that the main functionality is implemented by, and available through, the base classes. This makes it very easy to implement derived classes for specific uses, while facilitating code independent of the type of the underlying data.
Another choice was to implement mainly through lightweight wrappers, which do not manage the underlying data, but rather add functionality when needed.
Compounds | |
class | bitreader |
Base class for bit input wrappers. More... | |
class | null_bitreader |
Specialization without data. More... | |
class | stream_bitreader |
Specialization for streams. More... | |
class | vector_bitreader |
Specialization for vector<char>. More... | |
class | string_bitreader |
Specialization for string. More... | |
class | array_bitreader |
Specialization for C pointer to char. More... | |
class | bitwriter |
Base class for bit output wrappers. More... | |
class | null_bitwriter |
Specialization without data. More... | |
class | stream_bitwriter |
Specialization for streams. More... | |
class | vector_bitwriter |
Specialization for vector<char>. More... | |
class | string_bitwriter |
Specialization for string. More... | |
class | array_bitwriter |
Specialization for C pointer to char. More... | |
class | file_bitreader |
Specialization for files. More... | |
class | file_bitwriter |
Specialization for files. More... |