|
| PtrMap () |
| Default construct with default table capacity. More...
|
|
| PtrMap (const label size) |
| Construct with given initial table capacity. More...
|
|
| PtrMap (Istream &is) |
| Construct from Istream. More...
|
|
| PtrMap (const this_type &map) |
| Copy construct. More...
|
|
| PtrMap (this_type &&map) |
| Move construct. More...
|
|
void | operator= (const this_type &rhs) |
| Copy assignment. More...
|
|
void | operator= (this_type &&rhs) |
| Move assignment. More...
|
|
| HashPtrTable ()=default |
| Default construct with default table capacity. More...
|
|
| HashPtrTable (const label size) |
| Construct given initial table capacity. More...
|
|
| HashPtrTable (const this_type &rhs) |
| Copy construct, making a copy of each element. More...
|
|
| HashPtrTable (this_type &&rhs) |
| Move construct. More...
|
|
| HashPtrTable (Istream &is, const INew &inew) |
| Construct from Istream using given Istream constructor class. More...
|
|
| HashPtrTable (Istream &is) |
| Construct from Istream using default Istream constructor class. More...
|
|
| HashPtrTable (const dictionary &dict) |
| Construct from dictionary with default dictionary constructor class. More...
|
|
| ~HashPtrTable () |
| Destructor. More...
|
|
const T * | test (const label &key) const |
| Return const pointer associated with given entry or a nullptr if the key does not exist in the table. More...
|
|
const T * | get (const label &key) const |
| Return const pointer associated with given entry or a nullptr if the key does not exist in the table. More...
|
|
autoPtr< T > | release (iterator &iter) |
| Release ownership of the pointer and replace with a nullptr. More...
|
|
autoPtr< T > | release (const label &key) |
| Release ownership of the pointer and replace with a nullptr. More...
|
|
autoPtr< T > | remove (iterator &iter) |
| Remove entry specified by given iterator. More...
|
|
autoPtr< T > | remove (const label &key) |
| Remove entry specified by given key. More...
|
|
bool | erase (iterator &iter) |
| Erase entry specified by given iterator and delete the allocated pointer. More...
|
|
bool | erase (const label &key) |
| Erase entry specified by given key and delete the allocated pointer. More...
|
|
void | clear () |
| Clear all entries from table and delete any allocated pointers. More...
|
|
void | write (Ostream &os) const |
| Invoke write() on each non-null entry. More...
|
|
void | operator= (const this_type &rhs) |
| Copy assignment. More...
|
|
void | operator= (this_type &&rhs) |
| Move assignment. More...
|
|
bool | emplace (const label &key, Args &&... args) |
| Emplace insert a new entry, not overwriting existing entries. More...
|
|
bool | emplace_set (const label &key, Args &&... args) |
| Emplace set an entry, overwriting any existing entries. More...
|
|
bool | insert (const label &, T *)=delete |
| No insert() with raw pointers (potential memory leaks). Use insert() with autoPtr or set() More...
|
|
bool | insert (const label &key, std::unique_ptr< T > &&ptr) |
| Insert a new entry, not overwriting existing entries. More...
|
|
bool | insert (const label &key, autoPtr< T > &&ptr) |
| Insert a new entry, not overwriting existing entries. More...
|
|
bool | insert (const label &key, autoPtr< T > &ptr) |
| Insert a new entry, not overwriting existing entries. More...
|
|
bool | set (const label &key, T *ptr) |
| Assign a new entry, overwrites existing. More...
|
|
bool | set (const label &key, std::unique_ptr< T > &&ptr) |
| Assign a new entry, overwrites existing. More...
|
|
bool | set (const label &key, autoPtr< T > &&ptr) |
| Assign a new entry, overwrites existing. More...
|
|
bool | set (const label &key, const refPtr< T > &ptr) |
| Assign a new entry from refPtr (move or clone), overwrites existing. More...
|
|
bool | set (const label &key, const tmp< T > &ptr) |
| Assign a new entry from tmp (move or clone), overwrites existing. More...
|
|
bool | set (const label &key, autoPtr< T > &ptr) |
| Assign a new entry, overwrites existing. More...
|
|
| HashTable () |
| Default construct with default (128) table capacity. More...
|
|
| HashTable (const label size) |
| Construct given initial table capacity. More...
|
|
| HashTable (Istream &is, const label size=128) |
| Construct from Istream with default table capacity. More...
|
|
| HashTable (const this_type &ht) |
| Copy construct. More...
|
|
| HashTable (this_type &&rhs) |
| Move construct. More...
|
|
| HashTable (std::initializer_list< std::pair< Key, T >> list) |
| Construct from an initializer list. More...
|
|
| ~HashTable () |
| Destructor. More...
|
|
label | capacity () const noexcept |
| The size of the underlying table. More...
|
|
label | size () const noexcept |
| The number of elements in table. More...
|
|
bool | empty () const noexcept |
| True if the hash table is empty. More...
|
|
T & | at (const Key &key) |
| Find and return a hashed entry. FatalError if it does not exist. More...
|
|
const T & | at (const Key &key) const |
| Find and return a hashed entry. FatalError if it does not exist. More...
|
|
bool | found (const Key &key) const |
| True if hashed key is found in table. More...
|
|
iterator | find (const Key &key) |
| Find and return an iterator set at the hashed entry. More...
|
|
const_iterator | find (const Key &key) const |
| Find and return an const_iterator set at the hashed entry. More...
|
|
const_iterator | cfind (const Key &key) const |
| Find and return an const_iterator set at the hashed entry. More...
|
|
const T & | lookup (const Key &key, const T &deflt) const |
| Return hashed entry if it exists, or return the given default. More...
|
|
List< Key > | toc () const |
| The table of contents (the keys) in unsorted order. More...
|
|
List< Key > | sortedToc () const |
| The table of contents (the keys) in sorted order. More...
|
|
template<class Compare > |
List< Key > | sortedToc (const Compare &comp) const |
| The table of contents (the keys) sorted according to the specified comparator. More...
|
|
template<class UnaryPredicate > |
List< Key > | tocKeys (const UnaryPredicate &pred, const bool invert=false) const |
| The table of contents (the keys) selected according to the unary predicate applied to the keys. More...
|
|
template<class UnaryPredicate > |
List< Key > | tocValues (const UnaryPredicate &pred, const bool invert=false) const |
| The table of contents (the keys) selected according to the unary predicate applied to the values. More...
|
|
template<class BinaryPredicate > |
List< Key > | tocEntries (const BinaryPredicate &pred, const bool invert=false) const |
| The table of contents (the keys) selected according to the binary predicate applied to the keys and values. More...
|
|
UPtrList< const node_type > | csorted () const |
| Const access to the hash-table contents in sorted order (sorted by keys). More...
|
|
UPtrList< const node_type > | sorted () const |
| Const access to the hash-table contents in sorted order (sorted by keys). More...
|
|
UPtrList< node_type > | sorted () |
| Non-const access to the hash-table contents in sorted order (sorted by keys). More...
|
|
template<class UnaryPredicate > |
label | countKeys (const UnaryPredicate &pred, const bool invert=false) const |
| Count the number of keys that satisfy the unary predicate. More...
|
|
template<class UnaryPredicate > |
label | countValues (const UnaryPredicate &pred, const bool invert=false) const |
| Count the number of values that satisfy the unary predicate. More...
|
|
template<class BinaryPredicate > |
label | countEntries (const BinaryPredicate &pred, const bool invert=false) const |
| Count the number of entries that satisfy the binary predicate. More...
|
|
template<class... Args> |
bool | emplace (const Key &key, Args &&... args) |
| Emplace insert a new entry, not overwriting existing entries. More...
|
|
template<class... Args> |
bool | emplace_set (const Key &key, Args &&... args) |
| Emplace set an entry, overwriting any existing entries. More...
|
|
bool | insert (const Key &key, const T &obj) |
| Copy insert a new entry, not overwriting existing entries. More...
|
|
bool | insert (const Key &key, T &&obj) |
| Move insert a new entry, not overwriting existing entries. More...
|
|
bool | set (const Key &key, const T &obj) |
| Copy assign a new entry, overwriting existing entries. More...
|
|
bool | set (const Key &key, T &&obj) |
| Move assign a new entry, overwriting existing entries. More...
|
|
bool | erase (const iterator &iter) |
| Erase an entry specified by given iterator. More...
|
|
bool | erase (const Key &key) |
| Erase an entry specified by the given key. More...
|
|
template<class AnyType , class AnyHash > |
label | erase (const HashTable< AnyType, Key, AnyHash > &other) |
| Remove table entries given by keys of the other hash-table. More...
|
|
label | erase (std::initializer_list< Key > keys) |
| Remove table entries given by the listed keys. More...
|
|
template<class InputIter > |
label | erase (InputIter first, InputIter last) |
| Remove multiple entries using an iterator range of keys. More...
|
|
template<unsigned N> |
label | erase (const FixedList< Key, N > &keys) |
| Remove table entries given by the listed keys. More...
|
|
label | erase (const UList< Key > &keys) |
| Remove table entries given by the listed keys. More...
|
|
template<class AnyType , class AnyHash > |
label | retain (const HashTable< AnyType, Key, AnyHash > &other) |
| Retain table entries given by keys of the other hash-table. More...
|
|
template<class UnaryPredicate > |
label | filterKeys (const UnaryPredicate &pred, const bool pruning=false) |
| Generalized means to filter table entries based on their keys. More...
|
|
template<class UnaryPredicate > |
label | filterValues (const UnaryPredicate &pred, const bool pruning=false) |
| Generalized means to filter table entries based on their values. More...
|
|
template<class BinaryPredicate > |
label | filterEntries (const BinaryPredicate &pred, const bool pruning=false) |
| Generalized means to filter table entries based on their key/value. More...
|
|
void | resize (const label sz) |
| 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 | swap (HashTable< T, Key, Hash > &rhs) |
| Swap contents into this table. More...
|
|
void | transfer (HashTable< T, Key, Hash > &rhs) |
| Transfer contents into this table. More...
|
|
T & | operator[] (const Key &key) |
| Find and return a hashed entry. FatalError if it does not exist. More...
|
|
const T & | operator[] (const Key &key) const |
| Find and return a hashed entry. FatalError if it does not exist. More...
|
|
T & | operator() (const Key &key) |
| Return existing entry or create a new entry. More...
|
|
T & | operator() (const Key &key, const T &deflt) |
| Return existing entry or insert a new entry. More...
|
|
void | operator= (const this_type &rhs) |
| Copy assign. More...
|
|
void | operator= (std::initializer_list< std::pair< Key, T >> rhs) |
| Copy assign from an initializer list. More...
|
|
void | operator= (this_type &&rhs) |
| Move assign. More...
|
|
bool | operator== (const this_type &rhs) const |
| Equality. Tables are equal if all keys and values are equal, independent of order or underlying storage size. More...
|
|
bool | operator!= (const this_type &rhs) const |
| The opposite of the equality operation. More...
|
|
this_type & | operator+= (const this_type &rhs) |
| Add entries into this HashTable. More...
|
|
const_iterator_pair< const_key_iterator, this_type > | keys () const |
| A const iterator begin/end pair for iterating over keys. 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...
|
|
iterator | end () noexcept |
| iterator to signal the end (for any HashTable) More...
|
|
const_iterator | end () const noexcept |
| const_iterator to signal the end (for any HashTable) More...
|
|
constexpr const_iterator | cend () const noexcept |
| const_iterator to signal the end (for any HashTable) More...
|
|
Ostream & | printInfo (Ostream &os) const |
| Print information. More...
|
|
Ostream & | writeKeys (Ostream &os, const label shortLen=0) const |
| Write unordered keys (list), with line-breaks when length exceeds shortLen. More...
|
|
template<class Compare > |
Foam::List< Key > | sortedToc (const Compare &comp) const |
|
template<class UnaryPredicate > |
Foam::List< Key > | tocKeys (const UnaryPredicate &pred, const bool invert) const |
|
template<class UnaryPredicate > |
Foam::List< Key > | tocValues (const UnaryPredicate &pred, const bool invert) const |
|
template<class BinaryPredicate > |
Foam::List< Key > | tocEntries (const BinaryPredicate &pred, const bool invert) const |
|
template<class UnaryPredicate > |
Foam::label | countKeys (const UnaryPredicate &pred, const bool invert) const |
|
template<class UnaryPredicate > |
Foam::label | countValues (const UnaryPredicate &pred, const bool invert) const |
|
template<class BinaryPredicate > |
Foam::label | countEntries (const BinaryPredicate &pred, const bool invert) const |
|
template<class InputIter> |
Foam::label | erase (InputIter first, InputIter last) |
|
template<unsigned N> |
Foam::label | erase (const FixedList< Key, N > &keys) |
|
template<class AnyType, class AnyHash > |
Foam::label | erase (const HashTable< AnyType, Key, AnyHash > &other) |
|
template<class AnyType , class AnyHash > |
Foam::label | retain (const HashTable< AnyType, Key, AnyHash > &other) |
|
template<class UnaryPredicate > |
Foam::label | filterKeys (const UnaryPredicate &pred, const bool pruning) |
|
template<class UnaryPredicate > |
Foam::label | filterValues (const UnaryPredicate &pred, const bool pruning) |
|
template<class BinaryPredicate > |
Foam::label | filterEntries (const BinaryPredicate &pred, const bool pruning) |
|
| ClassName ("HashTable") |
| Declare type-name (with debug switch) More...
|
|
| HashTableCore () noexcept=default |
| Default construct. More...
|
|