util::ProbingHashTable< EntryT, HashT, EqualT, ModT > Class Template Reference

#include <probing_hash_table.hh>

Inheritance diagram for util::ProbingHashTable< EntryT, HashT, EqualT, ModT >:

Inheritance graph
[legend]
Collaboration diagram for util::ProbingHashTable< EntryT, HashT, EqualT, ModT >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef EntryT Entry
typedef Entry::Key Key
typedef const EntryConstIterator
typedef EntryMutableIterator
typedef HashT Hash
typedef EqualT Equal
typedef ModT Mod

Public Member Functions

 ProbingHashTable ()
 ProbingHashTable (void *start, std::size_t allocated, const Key &invalid=Key(), const Hash &hash_func=Hash(), const Equal &equal_func=Equal())
void Relocate (void *new_base)
MutableIterator Ideal (const Key key)
ConstIterator Ideal (const Key key) const
template<class T >
MutableIterator Insert (const T &t)
template<class T >
bool FindOrInsert (const T &t, MutableIterator &out)
void FinishedInserting ()
template<class Key >
bool UnsafeMutableFind (const Key key, MutableIterator &out)
template<class Key >
MutableIterator UnsafeMutableMustFind (const Key key)
template<class Key >
bool FindFromIdeal (const Key key, ConstIterator &i) const
template<class Key >
bool Find (const Key key, ConstIterator &out) const
template<class Key >
ConstIterator MustFind (const Key key) const
void Clear ()
std::size_t SizeNoSerialization () const
std::size_t DoubleTo () const
void Double (void *new_base, bool clear_new=true)
void CheckConsistency ()
ConstIterator RawBegin () const
ConstIterator RawEnd () const

Static Public Member Functions

static uint64_t Size (uint64_t entries, float multiplier)

Friends

class AutoProbing< Entry, Hash, Equal >


Detailed Description

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
class util::ProbingHashTable< EntryT, HashT, EqualT, ModT >

Definition at line 98 of file probing_hash_table.hh.


Member Typedef Documentation

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
typedef const Entry* util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::ConstIterator

Definition at line 102 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
typedef EntryT util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Entry

Definition at line 100 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
typedef EqualT util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Equal

Definition at line 105 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
typedef HashT util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Hash

Definition at line 104 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
typedef Entry::Key util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Key

Definition at line 101 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
typedef ModT util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Mod

Definition at line 106 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
typedef Entry* util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::MutableIterator

Definition at line 103 of file probing_hash_table.hh.


Constructor & Destructor Documentation

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::ProbingHashTable (  )  [inline]

Definition at line 114 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::ProbingHashTable ( void *  start,
std::size_t  allocated,
const Key invalid = Key(),
const Hash hash_func = Hash(),
const Equal equal_func = Equal() 
) [inline]

Definition at line 120 of file probing_hash_table.hh.


Member Function Documentation

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
void util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::CheckConsistency (  )  [inline]

Definition at line 278 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
void util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Clear (  )  [inline]

Definition at line 220 of file probing_hash_table.hh.

Referenced by util::AutoProbing< ProbingVocabularyEntry, util::IdentityHash >::Clear().

Here is the caller graph for this function:

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
void util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Double ( void *  new_base,
bool  clear_new = true 
) [inline]

Definition at line 240 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
std::size_t util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::DoubleTo (  )  const [inline]

Definition at line 233 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
template<class Key >
bool util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Find ( const Key  key,
ConstIterator out 
) const [inline]

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
template<class Key >
bool util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::FindFromIdeal ( const Key  key,
ConstIterator i 
) const [inline]

Definition at line 195 of file probing_hash_table.hh.

Referenced by util::ProbingHashTable< ProbingVocabularyEntry, util::IdentityHash >::Find().

Here is the caller graph for this function:

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
template<class T >
bool util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::FindOrInsert ( const T t,
MutableIterator out 
) [inline]

Definition at line 155 of file probing_hash_table.hh.

Referenced by util::AutoProbing< ProbingVocabularyEntry, util::IdentityHash >::FindOrInsert().

Here is the caller graph for this function:

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
void util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::FinishedInserting (  )  [inline]

Definition at line 171 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
ConstIterator util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Ideal ( const Key  key  )  const [inline]

Definition at line 142 of file probing_hash_table.hh.

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
MutableIterator util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Ideal ( const Key  key  )  [inline]

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
template<class T >
MutableIterator util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Insert ( const T t  )  [inline]

Definition at line 146 of file probing_hash_table.hh.

Referenced by lm::ngram::ProbingVocabulary::Insert().

Here is the caller graph for this function:

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
template<class Key >
ConstIterator util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::MustFind ( const Key  key  )  const [inline]

Definition at line 212 of file probing_hash_table.hh.

Referenced by util::AutoProbing< ProbingVocabularyEntry, util::IdentityHash >::MustFind().

Here is the caller graph for this function:

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
ConstIterator util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::RawBegin (  )  const [inline]

Definition at line 299 of file probing_hash_table.hh.

Referenced by util::AutoProbing< ProbingVocabularyEntry, util::IdentityHash >::RawBegin().

Here is the caller graph for this function:

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
ConstIterator util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::RawEnd (  )  const [inline]

Definition at line 302 of file probing_hash_table.hh.

Referenced by util::AutoProbing< ProbingVocabularyEntry, util::IdentityHash >::RawEnd().

Here is the caller graph for this function:

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
void util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Relocate ( void *  new_base  )  [inline]

Definition at line 134 of file probing_hash_table.hh.

Referenced by lm::ngram::ProbingVocabulary::Relocate().

Here is the caller graph for this function:

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
static uint64_t util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::Size ( uint64_t  entries,
float  multiplier 
) [inline, static]

Definition at line 108 of file probing_hash_table.hh.

Referenced by lm::ngram::detail::HashedSearch< Value >::SetupMemory(), and lm::ngram::detail::HashedSearch< Value >::Size().

Here is the caller graph for this function:

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
std::size_t util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::SizeNoSerialization (  )  const [inline]

Definition at line 228 of file probing_hash_table.hh.

Referenced by util::AutoProbing< ProbingVocabularyEntry, util::IdentityHash >::Size().

Here is the caller graph for this function:

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
template<class Key >
bool util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::UnsafeMutableFind ( const Key  key,
MutableIterator out 
) [inline]

Definition at line 174 of file probing_hash_table.hh.

Referenced by util::AutoProbing< ProbingVocabularyEntry, util::IdentityHash >::UnsafeMutableFind().

Here is the caller graph for this function:

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
template<class Key >
MutableIterator util::ProbingHashTable< EntryT, HashT, EqualT, ModT >::UnsafeMutableMustFind ( const Key  key  )  [inline]

Definition at line 186 of file probing_hash_table.hh.

Referenced by util::AutoProbing< ProbingVocabularyEntry, util::IdentityHash >::UnsafeMutableMustFind().

Here is the caller graph for this function:


Friends And Related Function Documentation

template<class EntryT, class HashT, class EqualT = std::equal_to<typename EntryT::Key>, class ModT = DivMod>
friend class AutoProbing< Entry, Hash, Equal > [friend]

Definition at line 307 of file probing_hash_table.hh.


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

Generated on Thu Jul 6 00:34:51 2017 for Moses by  doxygen 1.5.9