Teuchos::HashSet< Key > Class Template Reference

Templated hashtable-based set. More...

#include <Teuchos_HashSet.hpp>

List of all members.

Public Member Functions

 HashSet (int capacity=19)
 Create an empty HashSet.
bool containsKey (const Key &key) const
 Check for the presence of a key.
void put (const Key &key)
 Put a new object into the table.
void remove (const Key &key)
 Remove from the table the element given by key.
int size () const
 Get the number of elements in the table.
Array< Key > arrayify () const
 Get list of keys in Array form.
void arrayify (Array< Key > &keys) const
 Get list of keys in Array form.
std::string toString () const
 Write to a std::string.

Private Member Functions

void rehash ()
int nextPrime (int newCap) const

Private Attributes

Array< Array< Key > > data_
int count_
int capacity_
Key mostRecentKey_

Detailed Description

template<class Key>
class Teuchos::HashSet< Key >

Templated hashtable-based set.

HashSet is a hashtable-based set, similar to the STL set class or the Java HashSet class.

Definition at line 51 of file Teuchos_HashSet.hpp.


Constructor & Destructor Documentation

template<class Key >
Teuchos::HashSet< Key >::HashSet ( int  capacity = 19  )  [inline]

Create an empty HashSet.

Definition at line 103 of file Teuchos_HashSet.hpp.


Member Function Documentation

template<class Key >
bool Teuchos::HashSet< Key >::containsKey ( const Key &  key  )  const [inline]

Check for the presence of a key.

Definition at line 110 of file Teuchos_HashSet.hpp.

template<class Key >
void Teuchos::HashSet< Key >::put ( const Key &  key  )  [inline]

Put a new object into the table.

Definition at line 127 of file Teuchos_HashSet.hpp.

template<class Key >
void Teuchos::HashSet< Key >::remove ( const Key &  key  )  [inline]

Remove from the table the element given by key.

Definition at line 229 of file Teuchos_HashSet.hpp.

template<class Key>
int Teuchos::HashSet< Key >::size (  )  const [inline]

Get the number of elements in the table.

Definition at line 68 of file Teuchos_HashSet.hpp.

template<class Key >
Array< Key > Teuchos::HashSet< Key >::arrayify (  )  const [inline]

Get list of keys in Array form.

Definition at line 177 of file Teuchos_HashSet.hpp.

template<class Key >
void Teuchos::HashSet< Key >::arrayify ( Array< Key > &  keys  )  const [inline]

Get list of keys in Array form.

Definition at line 194 of file Teuchos_HashSet.hpp.

template<class Key >
std::string Teuchos::HashSet< Key >::toString (  )  const [inline]

Write to a std::string.

Definition at line 208 of file Teuchos_HashSet.hpp.

template<class Key >
void Teuchos::HashSet< Key >::rehash (  )  [inline, private]

rebuild the hashtable when the size has changed

Definition at line 160 of file Teuchos_HashSet.hpp.

template<class Key>
int Teuchos::HashSet< Key >::nextPrime ( int  newCap  )  const [inline, private]

get the next prime number near a given capacity


Member Data Documentation

template<class Key>
Array<Array<Key> > Teuchos::HashSet< Key >::data_ [private]

Definition at line 85 of file Teuchos_HashSet.hpp.

template<class Key>
int Teuchos::HashSet< Key >::count_ [private]

Definition at line 86 of file Teuchos_HashSet.hpp.

template<class Key>
int Teuchos::HashSet< Key >::capacity_ [private]

Definition at line 87 of file Teuchos_HashSet.hpp.

template<class Key>
Key Teuchos::HashSet< Key >::mostRecentKey_ [mutable, private]

Definition at line 88 of file Teuchos_HashSet.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Tue Oct 20 10:14:04 2009 for Teuchos Package Browser (Single Doxygen Collection) by  doxygen 1.6.1