PerfectHash< T > Class Template Reference

#include <perfectHash.h>

Inheritance diagram for PerfectHash< T >:

Inheritance graph
[legend]
Collaboration diagram for PerfectHash< T >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 PerfectHash (uint16_t MBs, int width, int bucketRange, float qBase)
 PerfectHash (Moses::FileHandler *fin)
virtual ~PerfectHash ()
void analyze ()
count_t hpDictMemUse ()
count_t bucketsMemUse ()

Protected Member Functions

uint64_t insert (const wordID_t *IDs, const int len, const count_t value)
bool update (const wordID_t *IDs, const int len, const count_t value, hpdEntry_t &hpdAddr, uint64_t &filterIdx)
bool update2 (const wordID_t *IDs, const int len, const count_t value, hpdEntry_t &hpdAddr, uint64_t &filterIdx)
int query (const wordID_t *IDs, const int len, hpdEntry_t &hpdAddr, uint64_t &filterIdx)
virtual void remove (const wordID_t *IDs, const int len)
void remove (uint64_t index)
void save (Moses::FileHandler *fout)
void load (Moses::FileHandler *fin)
virtual void markQueried (const uint64_t &)=0
virtual void markQueried (hpdEntry_t &)=0

Protected Attributes

Filter< T > * filter_
Filter< T > * values_
hpDict_t dict_
uint64_t cells_
count_t hitMask_
int totBuckets_
uint8_t bucketRange_
uint8_t * idxTracker_


Detailed Description

template<typename T>
class PerfectHash< T >

Definition at line 23 of file perfectHash.h.


Constructor & Destructor Documentation

template<typename T>
PerfectHash< T >::PerfectHash ( uint16_t  MBs,
int  width,
int  bucketRange,
float  qBase 
)

template<typename T>
PerfectHash< T >::PerfectHash ( Moses::FileHandler fin  )  [inline]

Definition at line 27 of file perfectHash.h.

template<typename T>
virtual PerfectHash< T >::~PerfectHash (  )  [virtual]


Member Function Documentation

template<typename T>
void PerfectHash< T >::analyze (  ) 

template<typename T>
count_t PerfectHash< T >::bucketsMemUse (  ) 

template<typename T>
count_t PerfectHash< T >::hpDictMemUse (  ) 

Referenced by PerfectHash< T >::analyze().

Here is the caller graph for this function:

template<typename T>
uint64_t PerfectHash< T >::insert ( const wordID_t IDs,
const int  len,
const count_t  value 
) [protected]

Referenced by PerfectHash< T >::update2().

Here is the caller graph for this function:

template<typename T>
void PerfectHash< T >::load ( Moses::FileHandler fin  )  [protected]

Reimplemented in OnlineRLM< T >.

template<typename T>
virtual void PerfectHash< T >::markQueried ( hpdEntry_t  )  [protected, pure virtual]

Implemented in OnlineRLM< T >.

template<typename T>
virtual void PerfectHash< T >::markQueried ( const uint64_t &   )  [protected, pure virtual]

Implemented in OnlineRLM< T >.

template<typename T>
int PerfectHash< T >::query ( const wordID_t IDs,
const int  len,
hpdEntry_t hpdAddr,
uint64_t &  filterIdx 
) [protected]

template<typename T>
void PerfectHash< T >::remove ( uint64_t  index  )  [protected]

template<typename T>
virtual void PerfectHash< T >::remove ( const wordID_t IDs,
const int  len 
) [protected, virtual]

template<typename T>
void PerfectHash< T >::save ( Moses::FileHandler fout  )  [protected]

Reimplemented in OnlineRLM< T >.

template<typename T>
bool PerfectHash< T >::update ( const wordID_t IDs,
const int  len,
const count_t  value,
hpdEntry_t hpdAddr,
uint64_t &  filterIdx 
) [protected]

template<typename T>
bool PerfectHash< T >::update2 ( const wordID_t IDs,
const int  len,
const count_t  value,
hpdEntry_t hpdAddr,
uint64_t &  filterIdx 
) [protected]


Member Data Documentation

template<typename T>
uint8_t PerfectHash< T >::bucketRange_ [protected]

template<typename T>
uint64_t PerfectHash< T >::cells_ [protected]

template<typename T>
hpDict_t PerfectHash< T >::dict_ [protected]

template<typename T>
Filter<T>* PerfectHash< T >::filter_ [protected]

template<typename T>
count_t PerfectHash< T >::hitMask_ [protected]

Definition at line 39 of file perfectHash.h.

Referenced by PerfectHash< T >::load(), and PerfectHash< T >::save().

template<typename T>
uint8_t* PerfectHash< T >::idxTracker_ [protected]

template<typename T>
int PerfectHash< T >::totBuckets_ [protected]

template<typename T>
Filter<T>* PerfectHash< T >::values_ [protected]


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

Generated on Mon Aug 17 00:32:12 2015 for Moses by  doxygen 1.5.9