tudocomp
– The TU Dortmund Compression Framework
tdc::lz78::ExtHashTrie Class Reference

#include <ExtHashTrie.hpp>

Inheritance diagram for tdc::lz78::ExtHashTrie:
tdc::Algorithm tdc::lz78::LZ78Trie<>

Public Member Functions

 ExtHashTrie (Env &&env, const size_t n, const size_t &remaining_characters, factorid_t reserve=0)
 
 IF_STATS (MoveGuard m_guard;inline ~ExtHashTrie() { if(m_guard) { StatPhase::log("table size", m_table.bucket_count());StatPhase::log("load factor", m_table.max_load_factor());StatPhase::log("entries", m_table.size());StatPhase::log("load ratio", m_table.load_factor());} }) ExtHashTrie(ExtHashTrie &&other)=default
 
ExtHashTrie & operator= (ExtHashTrie &&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...
 

Detailed Description

Definition at line 14 of file ExtHashTrie.hpp.

Constructor & Destructor Documentation

◆ ExtHashTrie()

tdc::lz78::ExtHashTrie::ExtHashTrie ( Env &&  env,
const size_t  n,
const size_t &  remaining_characters,
factorid_t  reserve = 0 
)
inline

Definition at line 31 of file ExtHashTrie.hpp.

Member Function Documentation

◆ add_rootnode()

node_t tdc::lz78::ExtHashTrie::add_rootnode ( uliteral_t  c)
inline

Definition at line 61 of file ExtHashTrie.hpp.

◆ clear()

void tdc::lz78::ExtHashTrie::clear ( )
inline

Definition at line 70 of file ExtHashTrie.hpp.

◆ find_or_insert()

node_t tdc::lz78::ExtHashTrie::find_or_insert ( const node_t &  parent_w,
uliteral_t  c 
)
inline

if we add a new node, its index will be equal to the current size of the dictionary

Definition at line 75 of file ExtHashTrie.hpp.

◆ get_rootnode()

node_t tdc::lz78::ExtHashTrie::get_rootnode ( uliteral_t  c) const
inline

Definition at line 66 of file ExtHashTrie.hpp.

◆ IF_STATS()

tdc::lz78::ExtHashTrie::IF_STATS ( MoveGuard m_guard;inline ~ExtHashTrie() { if(m_guard) { StatPhase::log("table size", m_table.bucket_count());StatPhase::log("load factor", m_table.max_load_factor());StatPhase::log("entries", m_table.size());StatPhase::log("load ratio", m_table.load_factor());} }  ) &&
default

◆ meta()

static Meta tdc::lz78::ExtHashTrie::meta ( )
inlinestatic

Definition at line 26 of file ExtHashTrie.hpp.

◆ operator=()

ExtHashTrie& tdc::lz78::ExtHashTrie::operator= ( ExtHashTrie &&  other)
default

◆ size()

size_t tdc::lz78::ExtHashTrie::size ( ) const
inline

Definition at line 94 of file ExtHashTrie.hpp.


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