Tree Compression with Top Trees Revisited
Public Member Functions | Public Attributes | List of all members
DagEntropy< DataType > Struct Template Reference

Calculate the different entropies of a TopDag - its structure, its merge types, and its labels. More...

#include <Entropy.h>

Collaboration diagram for DagEntropy< DataType >:
Collaboration graph
[legend]

Public Member Functions

 DagEntropy (const TopDag< DataType > &dag, const Labels< DataType > &labels, BitWriter &writer)
 
void calculate ()
 Do the entropy calculations on the DAG's nodes. More...
 
void write ()
 Write the stuff to huffman writers. More...
 
long long getTotalSize () const
 Retrieve total size for a Huffman-based encoding of the Top DAG. More...
 

Public Attributes

HuffmanBlocker< bool, uint8_t, 1, 8 > dagStructureEntropy
 
HuffmanBuilder< int > dagPointerEntropy
 
HuffmanBlocker< char, uint16_t, 4, 16 > mergeEntropy
 
LabelDataEntropy< DataType > labelDataEntropy
 
BitWriterwriter
 
BlockedHuffmanWriter< bool, uint8_t, 1, 8 > dagStructureWriter
 
HuffmanWriter< int > dagPointerWriter
 
BlockedHuffmanWriter< char, uint16_t, 4, 16 > mergeWriter
 
HuffmanWriter< std::string::value_type > labelWriter
 
const TopDag< DataType > & dag
 

Detailed Description

template<typename DataType>
struct DagEntropy< DataType >

Calculate the different entropies of a TopDag - its structure, its merge types, and its labels.

Definition at line 152 of file Entropy.h.

Constructor & Destructor Documentation

template<typename DataType>
DagEntropy< DataType >::DagEntropy ( const TopDag< DataType > &  dag,
const Labels< DataType > &  labels,
BitWriter writer 
)
inline

Definition at line 153 of file Entropy.h.

Member Function Documentation

template<typename DataType>
void DagEntropy< DataType >::calculate ( )
inline

Do the entropy calculations on the DAG's nodes.

Definition at line 167 of file Entropy.h.

template<typename DataType>
long long DagEntropy< DataType >::getTotalSize ( ) const
inline

Retrieve total size for a Huffman-based encoding of the Top DAG.

Definition at line 299 of file Entropy.h.

template<typename DataType>
void DagEntropy< DataType >::write ( )
inline

Write the stuff to huffman writers.

Definition at line 233 of file Entropy.h.

Member Data Documentation

template<typename DataType>
const TopDag<DataType>& DagEntropy< DataType >::dag

Definition at line 331 of file Entropy.h.

template<typename DataType>
HuffmanBuilder<int> DagEntropy< DataType >::dagPointerEntropy

Definition at line 321 of file Entropy.h.

template<typename DataType>
HuffmanWriter<int> DagEntropy< DataType >::dagPointerWriter

Definition at line 327 of file Entropy.h.

template<typename DataType>
HuffmanBlocker<bool, uint8_t, 1, 8> DagEntropy< DataType >::dagStructureEntropy

Definition at line 320 of file Entropy.h.

template<typename DataType>
BlockedHuffmanWriter<bool, uint8_t, 1, 8> DagEntropy< DataType >::dagStructureWriter

Definition at line 326 of file Entropy.h.

template<typename DataType>
LabelDataEntropy<DataType> DagEntropy< DataType >::labelDataEntropy

Definition at line 323 of file Entropy.h.

template<typename DataType>
HuffmanWriter<std::string::value_type> DagEntropy< DataType >::labelWriter

Definition at line 329 of file Entropy.h.

template<typename DataType>
HuffmanBlocker<char, uint16_t, 4, 16> DagEntropy< DataType >::mergeEntropy

Definition at line 322 of file Entropy.h.

template<typename DataType>
BlockedHuffmanWriter<char, uint16_t, 4, 16> DagEntropy< DataType >::mergeWriter

Definition at line 328 of file Entropy.h.

template<typename DataType>
BitWriter& DagEntropy< DataType >::writer

Definition at line 325 of file Entropy.h.


The documentation for this struct was generated from the following file: