Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

atlas::hashtable::HashTable< Entry, Number > Class Template Reference

#include <hashtable.h>

Collaboration diagram for atlas::hashtable::HashTable< Entry, Number >:

Collaboration graph
[legend]
List of all members.

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
const_iterator begin () const
const_iterator end () const
void swap (HashTable &other)

Static Public Attributes

const Number empty = ~Number(0)
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

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


Member Typedef Documentation

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

Definition at line 97 of file hashtable.h.

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

Definition at line 98 of file hashtable.h.


Constructor & Destructor Documentation

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

Definition at line 16 of file hashtable_def.h.

References atlas::hashtable::HashTable< Entry, Number >::d_mod, atlas::hashtable::HashTable< Entry, Number >::d_pool, atlas::hashtable::HashTable< Entry, Number >::max_fill(), and atlas::hashtable::HashTable< Entry, Number >::rehash().


Member Function Documentation

template<class Entry, typename Number>
const_iterator atlas::hashtable::HashTable< Entry, Number >::begin  )  const [inline]
 

Definition at line 100 of file hashtable.h.

Referenced by atlas::kl::helper::Thicket::edgeCompute(), atlas::kl::helper::Thicket::Thicket(), and atlas::kl::helper::Helper::writeRow().

template<class Entry, typename Number>
size_t atlas::hashtable::HashTable< Entry, Number >::capacity  )  const [inline]
 

Definition at line 88 of file hashtable.h.

Referenced by atlas::kl::helper::Helper::fill().

template<class Entry, typename Number>
const_iterator atlas::hashtable::HashTable< Entry, Number >::end  )  const [inline]
 

Definition at line 101 of file hashtable.h.

Referenced by atlas::kl::helper::Thicket::Thicket(), and atlas::kl::helper::Helper::writeRow().

template<class Entry, typename Number>
Number atlas::hashtable::HashTable< Entry, Number >::find const Entry &   )  const
 

Definition at line 44 of file hashtable_def.h.

References atlas::hashtable::HashTable< Entry, Number >::d_hash, atlas::hashtable::HashTable< Entry, Number >::d_mod, atlas::hashtable::HashTable< Entry, Number >::d_pool, and atlas::hashtable::HashTable< Entry, Number >::empty.

Referenced by atlas::kgb::FiberData::cartanClass(), atlas::kgb::FiberData::mod_space(), atlas::kgb::KGB::tauPacket(), and atlas::kl::helper::Thicket::Thicket().

template<class Entry, typename Number>
Number atlas::hashtable::HashTable< Entry, Number >::match const Entry &   ) 
 

Definition at line 61 of file hashtable_def.h.

References atlas::hashtable::HashTable< Entry, Number >::d_hash, atlas::hashtable::HashTable< Entry, Number >::d_mod, atlas::hashtable::HashTable< Entry, Number >::d_pool, atlas::hashtable::HashTable< Entry, Number >::empty, atlas::hashtable::HashTable< Entry, Number >::max_fill(), and atlas::hashtable::HashTable< Entry, Number >::rehash().

Referenced by atlas::kl::helper::Thicket::ascentCompute(), atlas::kgb::KGBHelp::cayleyExtend(), atlas::kgb::KGBHelp::cross_extend(), do_work(), atlas::kl::helper::Thicket::edgeCompute(), atlas::kgb::FiberData::FiberData(), atlas::kgb::KGB::KGB(), atlas::kgb::KGBHelp::KGBHelp(), and atlas::kl::helper::Helper::writeRow().

template<class Entry, typename Number>
size_t atlas::hashtable::HashTable< Entry, Number >::max_fill  )  const [inline, private]
 

Definition at line 92 of file hashtable.h.

Referenced by atlas::hashtable::HashTable< Entry, Number >::HashTable(), and atlas::hashtable::HashTable< Entry, Number >::match().

template<class Entry, typename Number>
Entry::Pooltype::const_reference atlas::hashtable::HashTable< Entry, Number >::operator[] Number  i  )  const [inline]
 

Definition at line 85 of file hashtable.h.

template<class Entry, typename Number>
void atlas::hashtable::HashTable< Entry, Number >::rehash  )  [private]
 

Definition at line 24 of file hashtable_def.h.

References atlas::hashtable::HashTable< Entry, Number >::d_hash, and atlas::hashtable::HashTable< Entry, Number >::d_pool.

Referenced by atlas::hashtable::HashTable< Entry, Number >::HashTable(), and atlas::hashtable::HashTable< Entry, Number >::match().

template<class Entry, typename Number>
Number atlas::hashtable::HashTable< Entry, Number >::size  )  const [inline]
 

Definition at line 87 of file hashtable.h.

Referenced by do_work(), atlas::kgb::KGBHelp::export_tables(), atlas::kgb::FiberData::FiberData(), atlas::kl::helper::Helper::fill(), and atlas::kgb::KGB::KGB().

template<class Entry, typename Number>
void atlas::hashtable::HashTable< Entry, Number >::swap HashTable< Entry, Number > &  other  )  [inline]
 

Definition at line 103 of file hashtable.h.

Referenced by atlas::kl::helper::Thicket::Thicket().


Member Data Documentation

template<class Entry, typename Number>
std::vector<Number> atlas::hashtable::HashTable< Entry, Number >::d_hash [private]
 

Definition at line 67 of file hashtable.h.

Referenced by atlas::hashtable::HashTable< Entry, Number >::find(), atlas::hashtable::HashTable< Entry, Number >::match(), atlas::hashtable::HashTable< Entry, Number >::rehash(), and atlas::hashtable::HashTable< weyl::TI_Entry, unsigned int >::swap().

template<class Entry, typename Number>
size_t atlas::hashtable::HashTable< Entry, Number >::d_mod [private]
 

Definition at line 66 of file hashtable.h.

Referenced by atlas::hashtable::HashTable< Entry, Number >::find(), atlas::hashtable::HashTable< Entry, Number >::HashTable(), atlas::hashtable::HashTable< Entry, Number >::match(), and atlas::hashtable::HashTable< weyl::TI_Entry, unsigned int >::swap().

template<class Entry, typename Number>
Entry::Pooltype& atlas::hashtable::HashTable< Entry, Number >::d_pool [private]
 

Definition at line 68 of file hashtable.h.

Referenced by atlas::hashtable::HashTable< Entry, Number >::find(), atlas::hashtable::HashTable< Entry, Number >::HashTable(), atlas::hashtable::HashTable< Entry, Number >::match(), atlas::hashtable::HashTable< Entry, Number >::rehash(), and atlas::hashtable::HashTable< weyl::TI_Entry, unsigned int >::swap().

template<class Entry, typename Number>
const Number atlas::hashtable::HashTable< Entry, Number >::empty = ~Number(0) [static]
 

Definition at line 9 of file hashtable_def.h.

Referenced by atlas::hashtable::HashTable< Entry, Number >::find(), atlas::hashtable::HashTable< Entry, Number >::match(), atlas::kgb::FiberData::mod_space(), and atlas::kgb::KGB::tauPacket().

template<class Entry, typename Number>
const float atlas::hashtable::HashTable< Entry, Number >::fill_fraction = 0.8 [static]
 

Definition at line 12 of file hashtable_def.h.


The documentation for this class was generated from the following files:
Generated on Wed Mar 26 16:52:26 2008 for atlas by  doxygen 1.3.9.1