|
tudocomp
– The TU Dortmund Compression Framework
|
#include <LZ78Trie.hpp>
Public Types | |
| using | node_t = _node_t |
Protected Member Functions | |
| LZ78Trie (const size_t n, const size_t &remaining_characters) | |
| size_t | expected_number_of_remaining_elements (const size_t z) const |
| node_t | add_rootnode (uliteral_t c) |
| The dictionary can store multiple root nodes For LZ78, we use a root node with the id = c = 0. More... | |
| node_t | get_rootnode (uliteral_t c) const |
| Returns the root node corresponding to literal c. More... | |
| void | clear () |
| Erases the contents of the dictionary. More... | |
| node_t | find_or_insert (const node_t &parent, uliteral_t c) |
Searches a pair (parent, c). More... | |
| size_t | size () const |
| Returns the number of entries, plus the number of rootnodes. More... | |
Definition at line 41 of file LZ78Trie.hpp.
| using tdc::lz78::LZ78Trie< _node_t >::node_t = _node_t |
Definition at line 43 of file LZ78Trie.hpp.
|
inlineprotected |
Definition at line 48 of file LZ78Trie.hpp.
|
inlineprotected |
The dictionary can store multiple root nodes For LZ78, we use a root node with the id = c = 0.
For LZW, we add for each possible literal value a root node. The compressor has to add these nodes.
Definition at line 61 of file LZ78Trie.hpp.
|
inlineprotected |
Erases the contents of the dictionary.
Used by compressors with limited dictionary size.
Definition at line 78 of file LZ78Trie.hpp.
|
inlineprotected |
Definition at line 51 of file LZ78Trie.hpp.
|
inlineprotected |
Searches a pair (parent, c).
If there is no node below parent on an edge labeled with c, a new leaf of the parent will be constructed.
| parent | the parent node's id |
| c | the edge label to follow |
Definition at line 87 of file LZ78Trie.hpp.
|
inlineprotected |
Returns the root node corresponding to literal c.
Definition at line 69 of file LZ78Trie.hpp.
|
inlineprotected |
Returns the number of entries, plus the number of rootnodes.
Definition at line 95 of file LZ78Trie.hpp.