Teuchos Package Browser (Single Doxygen Collection) Version of the Day
Public Member Functions | Private Member Functions | Private Attributes | Related Functions
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_

Related Functions

(Note that these are not member functions.)

template<class Key >
std::ostream & operator<< (std::ostream &os, const HashSet< Key > &h)
 Write HashSet to a stream.

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


Friends And Related Function Documentation

template<class Key >
std::ostream & operator<< ( std::ostream &  os,
const HashSet< Key > &  h 
) [related]

Write HashSet to a stream.

Definition at line 255 of file Teuchos_HashSet.hpp.


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