Public Member Functions | Protected Types | Protected Attributes
fcl::SparseHashTable< Key, Data, HashFnc, TableT > Class Template Reference

A hash table implemented using unordered_map. More...

#include <hpp/fcl/broadphase/hash.h>

List of all members.

Public Member Functions

 SparseHashTable (const HashFnc &h)
void init (size_t)
 Init the hash table. The bucket size is dynamically decided.
void insert (Key key, Data value)
 insert one key-value pair into the hash table
std::vector< Data > query (Key key) const
 find the elements whose key is the same as the query
void remove (Key key, Data value)
 remove one key-value pair from the hash table
void clear ()
 clear the hash table

Protected Types

typedef std::list< Data > Bin
typedef TableT< size_t, BinTable

Protected Attributes

HashFnc h_
Table table_

Detailed Description

template<typename Key, typename Data, typename HashFnc, template< typename, typename > class TableT = unordered_map_hash_table>
class fcl::SparseHashTable< Key, Data, HashFnc, TableT >

A hash table implemented using unordered_map.


Member Typedef Documentation

template<typename Key , typename Data , typename HashFnc , template< typename, typename > class TableT = unordered_map_hash_table>
typedef std::list<Data> fcl::SparseHashTable< Key, Data, HashFnc, TableT >::Bin [protected]
template<typename Key , typename Data , typename HashFnc , template< typename, typename > class TableT = unordered_map_hash_table>
typedef TableT<size_t, Bin> fcl::SparseHashTable< Key, Data, HashFnc, TableT >::Table [protected]

Constructor & Destructor Documentation

template<typename Key , typename Data , typename HashFnc , template< typename, typename > class TableT = unordered_map_hash_table>
fcl::SparseHashTable< Key, Data, HashFnc, TableT >::SparseHashTable ( const HashFnc &  h) [inline]

Member Function Documentation

template<typename Key , typename Data , typename HashFnc , template< typename, typename > class TableT = unordered_map_hash_table>
void fcl::SparseHashTable< Key, Data, HashFnc, TableT >::clear ( ) [inline]
template<typename Key , typename Data , typename HashFnc , template< typename, typename > class TableT = unordered_map_hash_table>
void fcl::SparseHashTable< Key, Data, HashFnc, TableT >::init ( size_t  ) [inline]

Init the hash table. The bucket size is dynamically decided.

References fcl::SparseHashTable< Key, Data, HashFnc, TableT >::table_.

template<typename Key , typename Data , typename HashFnc , template< typename, typename > class TableT = unordered_map_hash_table>
void fcl::SparseHashTable< Key, Data, HashFnc, TableT >::insert ( Key  key,
Data  value 
) [inline]
template<typename Key , typename Data , typename HashFnc , template< typename, typename > class TableT = unordered_map_hash_table>
std::vector<Data> fcl::SparseHashTable< Key, Data, HashFnc, TableT >::query ( Key  key) const [inline]
template<typename Key , typename Data , typename HashFnc , template< typename, typename > class TableT = unordered_map_hash_table>
void fcl::SparseHashTable< Key, Data, HashFnc, TableT >::remove ( Key  key,
Data  value 
) [inline]

Member Data Documentation

template<typename Key , typename Data , typename HashFnc , template< typename, typename > class TableT = unordered_map_hash_table>
HashFnc fcl::SparseHashTable< Key, Data, HashFnc, TableT >::h_ [protected]
template<typename Key , typename Data , typename HashFnc , template< typename, typename > class TableT = unordered_map_hash_table>
Table fcl::SparseHashTable< Key, Data, HashFnc, TableT >::table_ [protected]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines