A simple hash table implemented as multiple buckets. HashFnc is any extended hash function: HashFnc(key) = {index1, index2, ..., }. More...
#include <hpp/fcl/broadphase/hash.h>
Public Member Functions | |
SimpleHashTable (const HashFnc &h) | |
void | init (size_t size) |
@ brief Init the number of bins in the hash table | |
void | insert (Key key, Data value) |
std::vector< Data > | query (Key key) const |
Find the elements in the hash table whose key is the same as query key. | |
void | remove (Key key, Data value) |
remove the key-value pair from the table | |
void | clear () |
clear the hash table | |
Protected Types | |
typedef std::list< Data > | Bin |
Protected Attributes | |
std::vector< Bin > | table_ |
HashFnc | h_ |
size_t | table_size_ |
A simple hash table implemented as multiple buckets. HashFnc is any extended hash function: HashFnc(key) = {index1, index2, ..., }.
typedef std::list<Data> fcl::SimpleHashTable< Key, Data, HashFnc >::Bin [protected] |
fcl::SimpleHashTable< Key, Data, HashFnc >::SimpleHashTable | ( | const HashFnc & | h | ) | [inline] |
void fcl::SimpleHashTable< Key, Data, HashFnc >::clear | ( | ) | [inline] |
clear the hash table
References fcl::SimpleHashTable< Key, Data, HashFnc >::table_, and fcl::SimpleHashTable< Key, Data, HashFnc >::table_size_.
void fcl::SimpleHashTable< Key, Data, HashFnc >::init | ( | size_t | size | ) | [inline] |
@ brief Init the number of bins in the hash table
References fcl::SimpleHashTable< Key, Data, HashFnc >::table_, and fcl::SimpleHashTable< Key, Data, HashFnc >::table_size_.
void fcl::SimpleHashTable< Key, Data, HashFnc >::insert | ( | Key | key, |
Data | value | ||
) | [inline] |
std::vector<Data> fcl::SimpleHashTable< Key, Data, HashFnc >::query | ( | Key | key | ) | const [inline] |
Find the elements in the hash table whose key is the same as query key.
References fcl::SimpleHashTable< Key, Data, HashFnc >::h_, and fcl::SimpleHashTable< Key, Data, HashFnc >::table_.
void fcl::SimpleHashTable< Key, Data, HashFnc >::remove | ( | Key | key, |
Data | value | ||
) | [inline] |
remove the key-value pair from the table
References fcl::SimpleHashTable< Key, Data, HashFnc >::h_, and fcl::SimpleHashTable< Key, Data, HashFnc >::table_.
HashFnc fcl::SimpleHashTable< Key, Data, HashFnc >::h_ [protected] |
std::vector<Bin> fcl::SimpleHashTable< Key, Data, HashFnc >::table_ [protected] |
size_t fcl::SimpleHashTable< Key, Data, HashFnc >::table_size_ [protected] |