tudocomp
– The TU Dortmund Compression Framework
|
LZ78 Trie Implementation based on Julius Pettersson (MIT/Expat License.) and Juha Nieminen's work. More...
#include <TernaryTrie.hpp>
Public Member Functions | |
TernaryTrie (Env &&env, const size_t n, const size_t &remaining_characters, factorid_t reserve=0) | |
IF_STATS (size_t m_resizes=0;size_t m_specialresizes=0;) IF_STATS(MoveGuard m_guard | |
~TernaryTrie () | |
TernaryTrie (TernaryTrie &&other)=default | |
TernaryTrie & | operator= (TernaryTrie &&other)=default |
node_t | add_rootnode (uliteral_t c) |
node_t | get_rootnode (uliteral_t c) const |
void | clear () |
node_t | find_or_insert (const node_t &parent_w, uliteral_t c) |
size_t | size () const |
Public Member Functions inherited from tdc::Algorithm | |
virtual | ~Algorithm ()=default |
Algorithm (Algorithm const &)=default | |
Algorithm (Algorithm &&)=default | |
Algorithm & | operator= (Algorithm const &)=default |
Algorithm & | operator= (Algorithm &&)=default |
Algorithm (Env &&env) | |
Instantiates an algorithm in the specified environment. More... | |
Env & | env () |
Provides access to the environment that the algorithm works in. More... | |
const Env & | env () const |
Static Public Member Functions | |
static Meta | meta () |
Additional Inherited Members | |
Public Types inherited from tdc::lz78::LZ78Trie<> | |
using | node_t = LZ78TrieNode |
Protected Member Functions inherited from tdc::lz78::LZ78Trie<> | |
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... | |
LZ78 Trie Implementation based on Julius Pettersson (MIT/Expat License.) and Juha Nieminen's work.
Definition at line 16 of file TernaryTrie.hpp.
|
inline |
Definition at line 34 of file TernaryTrie.hpp.
|
inline |
Definition at line 53 of file TernaryTrie.hpp.
|
default |
|
inline |
Definition at line 65 of file TernaryTrie.hpp.
|
inline |
Definition at line 78 of file TernaryTrie.hpp.
|
inline |
if we add a new node, its index will be equal to the current size of the dictionary
Definition at line 85 of file TernaryTrie.hpp.
|
inline |
Definition at line 74 of file TernaryTrie.hpp.
tdc::lz78::TernaryTrie::IF_STATS | ( | size_t | m_resizes = 0;size_t m_specialresizes=0; | ) |
|
inlinestatic |
Definition at line 28 of file TernaryTrie.hpp.
|
default |
|
inline |
Definition at line 138 of file TernaryTrie.hpp.