Teuchos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | Related Functions | List of all members
Teuchos::HashSet< Key > Class Template Reference

Templated hashtable-based set. More...

#include <Teuchos_HashSet.hpp>

Public Member Functions

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

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. More...
 

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 32 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 84 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 91 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 108 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 210 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 49 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 158 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 175 of file Teuchos_HashSet.hpp.

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

Write to a std::string.

Definition at line 189 of file Teuchos_HashSet.hpp.

template<class Key >
void Teuchos::HashSet< Key >::rehash ( )
inlineprivate

rebuild the hashtable when the size has changed

Definition at line 141 of file Teuchos_HashSet.hpp.

template<class Key>
int Teuchos::HashSet< Key >::nextPrime ( int  newCap) const
inlineprivate

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 236 of file Teuchos_HashSet.hpp.

Member Data Documentation

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

Definition at line 66 of file Teuchos_HashSet.hpp.

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

Definition at line 67 of file Teuchos_HashSet.hpp.

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

Definition at line 68 of file Teuchos_HashSet.hpp.

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

Definition at line 69 of file Teuchos_HashSet.hpp.


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