Public Member Functions | Protected Types | Protected Attributes | List of all members
fcl::detail::SimpleHashTable< Key, Data, HashFnc > Class Template Reference

A simple hash table implemented as multiple buckets. HashFnc is any extended hash function: HashFnc(key) = {index1, index2, ..., }. More...

#include <simple_hash_table.h>

Public Member Functions

void clear ()
 clear the hash table More...
 
void init (size_t size)
 Init the number of bins in the hash table. More...
 
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. More...
 
void remove (Key key, Data value)
 remove the key-value pair from the table More...
 
 SimpleHashTable (const HashFnc &h)
 

Protected Types

typedef std::list< Data > Bin
 

Protected Attributes

HashFnc h_
 
std::vector< Bintable_
 
size_t table_size_
 

Detailed Description

template<typename Key, typename Data, typename HashFnc>
class fcl::detail::SimpleHashTable< Key, Data, HashFnc >

A simple hash table implemented as multiple buckets. HashFnc is any extended hash function: HashFnc(key) = {index1, index2, ..., }.

Definition at line 55 of file simple_hash_table.h.

Member Typedef Documentation

◆ Bin

template<typename Key , typename Data , typename HashFnc >
typedef std::list<Data> fcl::detail::SimpleHashTable< Key, Data, HashFnc >::Bin
protected

Definition at line 58 of file simple_hash_table.h.

Constructor & Destructor Documentation

◆ SimpleHashTable()

template<typename Key , typename Data , typename HashFnc >
fcl::detail::SimpleHashTable< Key, Data, HashFnc >::SimpleHashTable ( const HashFnc &  h)

Definition at line 53 of file simple_hash_table-inl.h.

Member Function Documentation

◆ clear()

template<typename Key , typename Data , typename HashFnc >
void fcl::detail::SimpleHashTable< Key, Data, HashFnc >::clear

clear the hash table

Definition at line 114 of file simple_hash_table-inl.h.

◆ init()

template<typename Key , typename Data , typename HashFnc >
void fcl::detail::SimpleHashTable< Key, Data, HashFnc >::init ( size_t  size)

Init the number of bins in the hash table.

Definition at line 61 of file simple_hash_table-inl.h.

◆ insert()

template<typename Key , typename Data , typename HashFnc >
void fcl::detail::SimpleHashTable< Key, Data, HashFnc >::insert ( Key  key,
Data  value 
)

Definition at line 74 of file simple_hash_table-inl.h.

◆ query()

template<typename Key , typename Data , typename HashFnc >
std::vector< Data > fcl::detail::SimpleHashTable< Key, Data, HashFnc >::query ( Key  key) const

Find the elements in the hash table whose key is the same as query key.

Definition at line 84 of file simple_hash_table-inl.h.

◆ remove()

template<typename Key , typename Data , typename HashFnc >
void fcl::detail::SimpleHashTable< Key, Data, HashFnc >::remove ( Key  key,
Data  value 
)

remove the key-value pair from the table

Definition at line 101 of file simple_hash_table-inl.h.

Member Data Documentation

◆ h_

template<typename Key , typename Data , typename HashFnc >
HashFnc fcl::detail::SimpleHashTable< Key, Data, HashFnc >::h_
protected

Definition at line 62 of file simple_hash_table.h.

◆ table_

template<typename Key , typename Data , typename HashFnc >
std::vector<Bin> fcl::detail::SimpleHashTable< Key, Data, HashFnc >::table_
protected

Definition at line 60 of file simple_hash_table.h.

◆ table_size_

template<typename Key , typename Data , typename HashFnc >
size_t fcl::detail::SimpleHashTable< Key, Data, HashFnc >::table_size_
protected

Definition at line 64 of file simple_hash_table.h.


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


fcl
Author(s):
autogenerated on Fri Apr 2 2021 02:38:03