atlas  0.6
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
atlas::hashtable::HashTable< Entry, Number > Class Template Reference

#include <Atlas.h>

Public Types

typedef Number const_iterator
 
typedef const_iterator iterator
 

Public Member Functions

 HashTable (typename Entry::Pooltype &pool)
 
Number match (const Entry &)
 
Number find (const Entry &) const
 
Entry::Pooltype::const_reference operator[] (Number i) const
 
Number size () const
 
size_t capacity () const
 
void reconstruct ()
 
const_iterator begin () const
 
const_iterator end () const
 
void swap (HashTable &other)
 

Static Public Attributes

static const Number empty = ~Number(0)
 
static const float fill_fraction =0.8
 

Private Member Functions

void rehash ()
 
size_t max_fill () const
 

Private Attributes

size_t d_mod
 
std::vector< Number > d_hash
 
Entry::Pooltype & d_pool
 

Member Typedef Documentation

template<class Entry, typename Number>
typedef Number atlas::hashtable::HashTable< Entry, Number >::const_iterator
template<class Entry, typename Number>
typedef const_iterator atlas::hashtable::HashTable< Entry, Number >::iterator

Constructor & Destructor Documentation

template<class Entry, typename Number >
atlas::hashtable::HashTable< Entry, Number >::HashTable ( typename Entry::Pooltype &  pool)

Member Function Documentation

template<class Entry, typename Number>
const_iterator atlas::hashtable::HashTable< Entry, Number >::begin ( ) const
inline
template<class Entry, typename Number>
size_t atlas::hashtable::HashTable< Entry, Number >::capacity ( ) const
inline
template<class Entry, typename Number>
const_iterator atlas::hashtable::HashTable< Entry, Number >::end ( ) const
inline
template<class Entry, typename Number >
Number atlas::hashtable::HashTable< Entry, Number >::find ( const Entry &  x) const
template<class Entry, typename Number >
Number atlas::hashtable::HashTable< Entry, Number >::match ( const Entry &  x)
template<class Entry, typename Number>
size_t atlas::hashtable::HashTable< Entry, Number >::max_fill ( ) const
inlineprivate
template<class Entry, typename Number>
Entry::Pooltype::const_reference atlas::hashtable::HashTable< Entry, Number >::operator[] ( Number  i) const
inline
template<class Entry , typename Number >
void atlas::hashtable::HashTable< Entry, Number >::reconstruct ( )
template<class Entry , typename Number >
void atlas::hashtable::HashTable< Entry, Number >::rehash ( )
private
template<class Entry, typename Number>
Number atlas::hashtable::HashTable< Entry, Number >::size ( ) const
inline
template<class Entry, typename Number>
void atlas::hashtable::HashTable< Entry, Number >::swap ( HashTable< Entry, Number > &  other)
inline

Member Data Documentation

template<class Entry, typename Number>
std::vector<Number> atlas::hashtable::HashTable< Entry, Number >::d_hash
private
template<class Entry, typename Number>
size_t atlas::hashtable::HashTable< Entry, Number >::d_mod
private
template<class Entry, typename Number>
Entry::Pooltype& atlas::hashtable::HashTable< Entry, Number >::d_pool
private
template<class Entry, typename Number>
const Number atlas::hashtable::HashTable< Entry, Number >::empty = ~Number(0)
static
template<class Entry, typename Number>
const float atlas::hashtable::HashTable< Entry, Number >::fill_fraction =0.8
static

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