#include <perfectHash.h>
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_ |
Definition at line 23 of file perfectHash.h.
PerfectHash< T >::PerfectHash | ( | uint16_t | MBs, | |
int | width, | |||
int | bucketRange, | |||
float | qBase | |||
) |
PerfectHash< T >::PerfectHash | ( | Moses::FileHandler * | fin | ) | [inline] |
Definition at line 27 of file perfectHash.h.
virtual PerfectHash< T >::~PerfectHash | ( | ) | [virtual] |
void PerfectHash< T >::analyze | ( | ) |
count_t PerfectHash< T >::bucketsMemUse | ( | ) |
count_t PerfectHash< T >::hpDictMemUse | ( | ) |
uint64_t PerfectHash< T >::insert | ( | const wordID_t * | IDs, | |
const int | len, | |||
const count_t | value | |||
) | [protected] |
void PerfectHash< T >::load | ( | Moses::FileHandler * | fin | ) | [protected] |
Reimplemented in OnlineRLM< T >.
virtual void PerfectHash< T >::markQueried | ( | hpdEntry_t & | ) | [protected, pure virtual] |
Implemented in OnlineRLM< T >.
virtual void PerfectHash< T >::markQueried | ( | const uint64_t & | ) | [protected, pure virtual] |
Implemented in OnlineRLM< T >.
int PerfectHash< T >::query | ( | const wordID_t * | IDs, | |
const int | len, | |||
hpdEntry_t & | hpdAddr, | |||
uint64_t & | filterIdx | |||
) | [protected] |
void PerfectHash< T >::remove | ( | uint64_t | index | ) | [protected] |
virtual void PerfectHash< T >::remove | ( | const wordID_t * | IDs, | |
const int | len | |||
) | [protected, virtual] |
void PerfectHash< T >::save | ( | Moses::FileHandler * | fout | ) | [protected] |
Reimplemented in OnlineRLM< T >.
bool PerfectHash< T >::update | ( | const wordID_t * | IDs, | |
const int | len, | |||
const count_t | value, | |||
hpdEntry_t & | hpdAddr, | |||
uint64_t & | filterIdx | |||
) | [protected] |
bool PerfectHash< T >::update2 | ( | const wordID_t * | IDs, | |
const int | len, | |||
const count_t | value, | |||
hpdEntry_t & | hpdAddr, | |||
uint64_t & | filterIdx | |||
) | [protected] |
uint8_t PerfectHash< T >::bucketRange_ [protected] |
Definition at line 41 of file perfectHash.h.
Referenced by PerfectHash< T >::analyze(), PerfectHash< T >::insert(), PerfectHash< T >::load(), PerfectHash< T >::PerfectHash(), PerfectHash< T >::query(), PerfectHash< T >::remove(), PerfectHash< T >::save(), PerfectHash< T >::update(), and PerfectHash< T >::update2().
uint64_t PerfectHash< T >::cells_ [protected] |
Definition at line 38 of file perfectHash.h.
Referenced by PerfectHash< T >::analyze(), PerfectHash< T >::insert(), PerfectHash< T >::load(), PerfectHash< T >::PerfectHash(), PerfectHash< T >::query(), PerfectHash< T >::remove(), PerfectHash< T >::save(), PerfectHash< T >::update(), and PerfectHash< T >::update2().
hpDict_t PerfectHash< T >::dict_ [protected] |
Definition at line 37 of file perfectHash.h.
Referenced by PerfectHash< T >::analyze(), PerfectHash< T >::hpDictMemUse(), PerfectHash< T >::insert(), PerfectHash< T >::load(), PerfectHash< T >::query(), PerfectHash< T >::remove(), PerfectHash< T >::save(), PerfectHash< T >::update(), and PerfectHash< T >::update2().
Filter<T>* PerfectHash< T >::filter_ [protected] |
Definition at line 35 of file perfectHash.h.
Referenced by PerfectHash< T >::analyze(), PerfectHash< T >::bucketsMemUse(), PerfectHash< T >::insert(), PerfectHash< T >::load(), PerfectHash< T >::PerfectHash(), PerfectHash< T >::query(), PerfectHash< T >::remove(), PerfectHash< T >::save(), PerfectHash< T >::update(), PerfectHash< T >::update2(), and PerfectHash< T >::~PerfectHash().
count_t PerfectHash< T >::hitMask_ [protected] |
Definition at line 39 of file perfectHash.h.
Referenced by PerfectHash< T >::load(), and PerfectHash< T >::save().
uint8_t* PerfectHash< T >::idxTracker_ [protected] |
Definition at line 42 of file perfectHash.h.
Referenced by PerfectHash< T >::analyze(), PerfectHash< T >::insert(), PerfectHash< T >::load(), PerfectHash< T >::PerfectHash(), PerfectHash< T >::remove(), PerfectHash< T >::save(), and PerfectHash< T >::~PerfectHash().
int PerfectHash< T >::totBuckets_ [protected] |
Definition at line 40 of file perfectHash.h.
Referenced by PerfectHash< T >::analyze(), PerfectHash< T >::load(), PerfectHash< T >::PerfectHash(), and PerfectHash< T >::save().
Filter<T>* PerfectHash< T >::values_ [protected] |
Definition at line 36 of file perfectHash.h.
Referenced by PerfectHash< T >::analyze(), PerfectHash< T >::bucketsMemUse(), PerfectHash< T >::insert(), PerfectHash< T >::load(), PerfectHash< T >::PerfectHash(), PerfectHash< T >::query(), PerfectHash< T >::remove(), PerfectHash< T >::save(), PerfectHash< T >::update(), PerfectHash< T >::update2(), and PerfectHash< T >::~PerfectHash().