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< T, label, Hash< label > >::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.
bool erase | ( | iterator & | it | ) |
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< T, label, Hash< label > >::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 |