22 #ifndef KALDI_UTIL_HASH_LIST_H_    23 #define KALDI_UTIL_HASH_LIST_H_   147 #endif  // KALDI_UTIL_HASH_LIST_H_ This code computes Goodness of Pronunciation (GOP) and extracts phone-level pronunciation feature for...
 
Elem * Insert(I key, T val)
Insert inserts a new element into the hashtable/stored list. 
 
HashList()
Constructor takes no arguments. 
 
std::vector< HashBucket > buckets_
 
static const size_t allocate_block_size_
 
std::vector< Elem * > allocated_
 
void SetSize(size_t sz)
SetSize tells the object how many hash buckets to allocate (should typically be at least twice the nu...
 
const Elem * GetList() const
Gives the head of the current list to the user. 
 
HashBucket(size_t i, Elem *e)
 
Elem * Clear()
Clears the hash and gives the head of the current list to the user; ownership is transferred to the u...
 
Elem * New()
This should probably not be needed to be called directly by the user. 
 
void InsertMore(I key, T val)
Insert inserts another element with same key into the hashtable/ stored list. 
 
Elem * Find(I key)
Find tries to find this element in the current list using the hashtable. 
 
void Delete(Elem *e)
Think of this like delete(). 
 
size_t Size()
Returns current number of hash buckets.