| CArgParser | Parse command-line arguments |
| CBitWriter | Unfinished, untested, unused bit writer |
| CBlockedHuffmanWriter< InputType, OutputType, inputSize, outputSize > | Unfinished writer for blocked Huffman codes |
| CBlockedHuffmanWriter< bool, uint8_t, 1, 8 > | |
| CBlockedHuffmanWriter< char, uint16_t, 4, 16 > | |
| CBPString | Convert tree to BP string & label char collection |
| CCluster< DataType > | Cluster type for a top tree, holding a pointer to some data |
| CRePair::Coder< DataType > | Encode RePair output |
| CDagEntropy< DataType > | Calculate the different entropies of a TopDag - its structure, its merge types, and its labels |
| CDagNode< T > | This is a node type for use in a DAG |
| CDagNode< DataType > | |
| CDebugInfo | Holds debug information about a tree compression run |
| CRePair::Dictionary< DataType > | |
| CDotGraphExporter< TreeType > | Base class for exporting various graphs (or trees) as DOT files |
| ▼CDotGraphExporter< TopDag< DataType > > | |
| CTopDagDotGraphExporter< DataType > | Export a Top DAG as a DOT graph |
| ▼CDotGraphExporter< TopTree< DataType > > | |
| CTopTreeDotGraphExporter< DataType > | Export a Top Tree as a DOT graph |
| CEntropyCalculator< T, CounterType > | Calculate entropy of a sequence of symbols |
| CFileWriter | UNFINISHED Top DAG writer. Don't use |
| CSimpleRePair::HashCombiner | Combine hash values |
| CSimpleRePair::HashMap< Pair > | Specialised hash map for RePair |
| CRePair::HashTable< DataType > | RePair hash table using hashing with open addressing and linear probing |
| CHuffmanBlocker< InputType, OutputType, inputSize, outputSize > | Constructs a blocked Huffman coding |
| CHuffmanBlocker< bool, uint8_t, 1, 8 > | |
| CHuffmanBlocker< char, uint16_t, 4, 16 > | |
| CHuffmanBuilder< SymbolType > | Generic Huffman Code Builder. Only constructs code, does not en-/decode |
| CHuffmanBuilder< DataType > | |
| CHuffmanBuilder< int > | |
| CHuffmanBuilder< OutputType > | |
| CHuffmanBuilder< std::string::value_type > | |
| CHuffmanBuilder< uint16_t > | |
| CHuffmanBuilder< uint8_t > | |
| CHuffmanWriter< SymbolType > | Unfinished Huffman code writer |
| CHuffmanWriter< int > | |
| CHuffmanWriter< std::string::value_type > | |
| ▼CHuffNode | A node in a Huffman tree (base class) |
| CHuffInnerNode | An inner node in a Huffman tree |
| CHuffLeaf | A leaf in a Huffman tree |
| CLabelDataEntropy< DataType > | Base class for Label entropy calculation. Define specialisation for your data types |
| CLabelDataEntropy< std::string > | Compute entropy of a set of label strings |
| ▼CLabelsT< Value > | A label interface (pure virtual) |
| CFakeLabels< Value > | Dummy labels that always return the same value for each index |
| CLabels< Value > | A key-value label storage |
| CLabelsT< DataType > | |
| ▼CLabelsT< int > | |
| CIdLabels | Hashing modulo-wrapping label generator (NOT UNIFORM) |
| CRandomLabels< RNG > | Uniformly random labels |
| ▼CLabelsT< std::string > | |
| CLabels< std::string > | |
| CNavigationRecord | Represents an entry in the DAG stack |
| CNavigator< DataType > | Navigate around in an in-memory Top DAG |
| CNodeHasher< TreeType, DataType > | Hash a node for RePair combiner |
| COrderedTree< NodeType, EdgeType > | Ordered tree data structure |
| COrderedTreeDotGraphExporter< NodeType, EdgeType, DataType > | Export a tree as a DOT graph |
| CRePair::PQEntry | Represents a Priority Queue Element. These can be chained into a list |
| CPreorderTraversal< DataType > | Traverse an in-memory Top DAG in preorder |
| CRePair::Prepair< InType > | Prepare data for RePair by consolidating the input symbols |
| CRePair::PriorityQueue | RePair Priority Queue |
| CSimpleRePair::PriorityQueue< Pair > | Specialised bucket priority queue for RePair |
| CProgressBar | A simple progress bar |
| CRandomTreeGenerator< RNG > | Generates ordered unlabelled trees uniformly at random |
| CSimpleRePair::Record< Pair > | A RePair record consisting of a hash value, a frequency, and an occurence list |
| CSimpleRePair::RecordFrequencyComparator< Pair > | Compare RePair records by frequency (>) |
| CSimpleRePair::Records< Pair > | A list of RePair records |
| CRePair::Records< DataType > | This class holds the text as it undergoes replacements in RePair |
| CRePair::RePair< DataType, InputType > | Main RePair compression algorithm |
| CRePairCombiner< TreeType, DataType > | Transform a tree into its top tree |
| CStatistics | A statistics aggregator |
| CStatWriter | A completely thread-safe statistics writer |
| CSubtreeEquality< DataType > | DagNode equality tester, to enable its use in a map |
| CSubtreeHasher< DataType > | DagNode hasher to enable its use in a map |
| CTimerT< TimeT, scalingFactor, ReturnType > | A flexible timer |
| CTimerT< TimeT, 1, typename TimeT::rep > | Timer specialisation for a scaling factor of 1 (non-scaling) |
| CTopDag< DataType > | A binary DAG that is specialised to be a top tree's minimal DAG |
| CTopDagConstructor< TreeType, DataType > | Transform a tree into its top tree |
| CTopDagUnpacker< DataType > | Unpack a binary DAG to its original top tree |
| CTopTree< DataType > | Top tree data structure |
| CTopTreeUnpacker< TreeType, DataType > | Unpack a TopTree into its original OrderedTree |
| CTreeEdge | Edge type for use with an OrderedTree |
| CTreeNode | A node for an OrderedTree |
| CTreeSizeEstimation< TreeType > | Compute size of a succinct encoding of a tree |
| CXmlParser< TreeType > | Read an XML file into a tree, using RapidXml |
| CXmlWriter< TreeType > | XML tree writer (empty template for overloading) |
| CXmlWriter< OrderedTree< NodeType, EdgeType > > | OrderedTree XML tree writer |
| CXmlWriter< TopTree< DataType > > | Top tree XML writer |