ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Classes | Public Member Functions | Public Attributes | Private Attributes | List of all members
etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets > Class Template Reference

#include <FixedSizeHashMap.h>

Collaboration diagram for etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >:
Collaboration graph
[legend]

Classes

class  Entry
 

Public Member Functions

 FixedSizeHashMap ()
 
 ~FixedSizeHashMap ()
 
 etiss_del_como (FixedSizeHashMap) V *insert(const K &key
 
void erase (const K &key)
 
V * find (const K &key)
 
const V * find (const K &key) const
 

Public Attributes

const V & val
 
Entry ** ptr = &(map[hk & set_lsbs(log2_buckets)])
 

Private Attributes

etiss::ObjectPool< Entrypool
 
Entrymap [1<< log2_buckets]
 
hashFunc hash
 

Detailed Description

template<typename K, typename V, typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
class etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >

Definition at line 78 of file FixedSizeHashMap.h.

Constructor & Destructor Documentation

◆ FixedSizeHashMap()

template<typename K , typename V , typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::FixedSizeHashMap ( )
inline

◆ ~FixedSizeHashMap()

template<typename K , typename V , typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::~FixedSizeHashMap ( )
inline

Member Function Documentation

◆ erase()

template<typename K , typename V , typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
void etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::erase ( const K &  key)
inline

◆ etiss_del_como()

template<typename K , typename V , typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::etiss_del_como ( FixedSizeHashMap< K, V, hashFunc, log2_buckets >  ) const &

◆ find() [1/2]

template<typename K , typename V , typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
V* etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::find ( const K &  key)
inline

◆ find() [2/2]

template<typename K , typename V , typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
const V* etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::find ( const K &  key) const
inline

Member Data Documentation

◆ hash

template<typename K , typename V , typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
hashFunc etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::hash
private

◆ map

template<typename K , typename V , typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
Entry* etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::map[1<< log2_buckets]
private

◆ pool

template<typename K , typename V , typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
etiss::ObjectPool<Entry> etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::pool
private

◆ ptr

template<typename K , typename V , typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
Entry** etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::ptr = &(map[hk & set_lsbs(log2_buckets)])

◆ val

template<typename K , typename V , typename hashFunc = typename std::hash<K>, size_t log2_buckets = 16>
const V& etiss::FixedSizeHashMap< K, V, hashFunc, log2_buckets >::val
Initial value:
{
size_t hk = hash(key)

Definition at line 124 of file FixedSizeHashMap.h.


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