A HashTable specialisation for hashing pointers. More...
Public Types | |
typedef HashTable< T *, Key, Hash >::iterator | iterator |
typedef HashTable< T *, Key, Hash >::const_iterator | const_iterator |
Public Types inherited from HashTable< T *, Key, Hash > | |
typedef T * | value_type |
Type of values the HashTable contains. More... | |
typedef T * & | reference |
Type that can be used for storing into HashTable::value_type. More... | |
typedef const T * & | const_reference |
Type that can be used for storing into constant. More... | |
typedef label | size_type |
The type that can represent the size of a HashTable. More... | |
Public Member Functions | |
HashPtrTable (const label size=128) | |
Construct given initial table size. More... | |
template<class INew > | |
HashPtrTable (Istream &, const INew &) | |
Construct from Istream using given Istream constructor class. More... | |
HashPtrTable (Istream &) | |
Construct from Istream using default Istream constructor class. More... | |
HashPtrTable (const dictionary &) | |
Construct from dictionary using default dictionary constructor. More... | |
HashPtrTable (const HashPtrTable< T, Key, Hash > &) | |
Copy constructor. More... | |
HashPtrTable (HashPtrTable< T, Key, Hash > &&) | |
Move constructor. More... | |
~HashPtrTable () | |
Destructor. More... | |
T * | remove (iterator &) |
Remove and return the pointer specified by given iterator. More... | |
bool | erase (iterator &) |
Erase an hashedEntry specified by given iterator. More... | |
void | clear () |
Clear all entries from table. More... | |
void | write (Ostream &os) const |
Write. More... | |
void | operator= (const HashPtrTable< T, Key, Hash > &) |
Assignment operator. More... | |
void | operator= (HashPtrTable< T, Key, Hash > &&) |
Move assignment operator. More... | |
Public Member Functions inherited from HashTable< T *, Key, Hash > | |
bool | set (const Key &, const T * &newElmt) |
Assign a new hashedEntry, overwriting existing entries. More... | |
HashTable (const label size=128) | |
Construct given initial table size. More... | |
HashTable (Istream &, const label size=128) | |
Construct from Istream. More... | |
HashTable (const HashTable< T *, Key, Hash > &) | |
Copy constructor. More... | |
HashTable (HashTable< T *, Key, Hash > &&) | |
Move constructor. More... | |
HashTable (std::initializer_list< Tuple2< Key, T * >>) | |
Construct from an initialiser list. More... | |
~HashTable () | |
Destructor. More... | |
label | capacity () const |
The size of the underlying table. More... | |
label | size () const |
Return number of elements in table. More... | |
bool | empty () const |
Return true if the hash table is empty. More... | |
bool | found (const Key &) const |
Return true if hashedEntry is found in table. More... | |
iterator | find (const Key &) |
Find and return an iterator set at the hashedEntry. More... | |
const_iterator | find (const Key &) const |
Find and return an const_iterator set at the hashedEntry. More... | |
List< Key > | toc () const |
Return the table of contents. More... | |
List< Key > | sortedToc () const |
Return the table of contents as a sorted list. More... | |
Ostream & | printInfo (Ostream &) const |
Print information. More... | |
bool | insert (const Key &, const T * &newElmt) |
Insert a new hashedEntry. More... | |
bool | erase (const iterator &) |
Erase a hashedEntry specified by given iterator. More... | |
bool | erase (const Key &) |
Erase a hashedEntry specified by the given key. More... | |
label | erase (const UList< Key > &) |
Remove entries given by the listed keys from this HashTable. More... | |
label | erase (const HashTable< AnyType, Key, AnyHash > &) |
Remove entries given by the given keys from this HashTable. More... | |
Foam::label | erase (const HashTable< AnyType, Key, AnyHash > &rhs) |
void | resize (const label newSize) |
Resize the hash table for efficiency. More... | |
void | clear () |
Clear all entries from table. More... | |
void | clearStorage () |
Clear the table entries and the table itself. More... | |
void | shrink () |
Shrink the allocated table to approx. twice number of elements. More... | |
void | transfer (HashTable< T *, Key, Hash > &) |
Transfer the contents of the argument table into this table. More... | |
T * & | operator[] (const Key &) |
Find and return a hashedEntry. More... | |
const T * & | operator[] (const Key &) const |
Find and return a hashedEntry. More... | |
T * & | operator() (const Key &) |
Find and return a hashedEntry, create it null if not present. More... | |
void | operator= (const HashTable< T *, Key, Hash > &) |
Assignment operator. More... | |
void | operator= (HashTable< T *, Key, Hash > &&) |
Move assignment operator. More... | |
void | operator= (std::initializer_list< Tuple2< Key, T * >>) |
Assignment to an initialiser list. More... | |
bool | operator== (const HashTable< T *, Key, Hash > &) const |
Equality. Hash tables are equal if the keys and values are equal. More... | |
bool | operator!= (const HashTable< T *, Key, Hash > &) const |
The opposite of the equality operation. Takes linear time. More... | |
iterator | begin () |
Iterator set to the beginning of the HashTable. More... | |
const_iterator | begin () const |
const_iterator set to the beginning of the HashTable More... | |
const_iterator | cbegin () const |
const_iterator set to the beginning of the HashTable More... | |
Public Member Functions inherited from HashTableCore | |
HashTableCore () | |
Construct null. More... | |
ClassName ("HashTable") | |
Define template name and debug. More... | |
Friends | |
Istream & | operator>> (Istream &, HashPtrTable< T, Key, Hash > &) |
Ostream & | operator (Ostream &, const HashPtrTable< T, Key, Hash > &) |
Additional Inherited Members | |
Static Public Member Functions inherited from HashTableCore | |
static label | canonicalSize (const label) |
Return a canonical (power-of-two) size. More... | |
static iteratorEnd | cend () |
iteratorEnd set to beyond the end of any HashTable More... | |
static iteratorEnd | end () |
iteratorEnd set to beyond the end of any HashTable More... | |
Static Public Attributes inherited from HashTableCore | |
static const label | maxTableSize |
Maximum allowable table size. More... | |
A HashTable specialisation for hashing pointers.
Definition at line 50 of file HashPtrTable.H.
typedef HashTable<T*, Key, Hash>::const_iterator const_iterator |
Definition at line 83 of file HashPtrTable.H.
HashPtrTable | ( | const label | size = 128 | ) |
Construct given initial table size.
Definition at line 32 of file HashPtrTable.C.
Referenced by HashPtrTable< HashPtrTable< volScalarField >, phaseInterfaceKey, phaseInterfaceKey::hash >::HashPtrTable().
HashPtrTable | ( | Istream & | is, |
const INew & | inewt | ||
) |
Construct from Istream using given Istream constructor class.
Definition at line 179 of file HashPtrTableIO.C.
HashPtrTable | ( | Istream & | is | ) |
Construct from Istream using default Istream constructor class.
Definition at line 186 of file HashPtrTableIO.C.
HashPtrTable | ( | const dictionary & | dict | ) |
Construct from dictionary using default dictionary constructor.
class
Definition at line 193 of file HashPtrTableIO.C.
HashPtrTable | ( | const HashPtrTable< T, Key, Hash > & | ht | ) |
Copy constructor.
Definition at line 40 of file HashPtrTable.C.
HashPtrTable | ( | HashPtrTable< T, Key, Hash > && | ht | ) |
Move constructor.
Definition at line 55 of file HashPtrTable.C.
~HashPtrTable | ( | ) |
Destructor.
Definition at line 66 of file HashPtrTable.C.
Remove and return the pointer specified by given iterator.
Definition at line 75 of file HashPtrTable.C.
Erase an hashedEntry specified by given iterator.
Definition at line 84 of file HashPtrTable.C.
void clear | ( | ) |
Clear all entries from table.
Definition at line 105 of file HashPtrTable.C.
Referenced by HashPtrTable< HashPtrTable< volScalarField >, phaseInterfaceKey, phaseInterfaceKey::hash >::HashPtrTable().
void write | ( | Ostream & | os | ) | const |
Write.
Definition at line 158 of file HashPtrTableIO.C.
void operator= | ( | const HashPtrTable< T, Key, Hash > & | rhs | ) |
Assignment operator.
Definition at line 125 of file HashPtrTable.C.
void operator= | ( | HashPtrTable< T, Key, Hash > && | rhs | ) |
Move assignment operator.
Definition at line 148 of file HashPtrTable.C.
|
friend |