|
| constexpr | PtrMap () noexcept=default |
| | Default construct: empty without allocation (capacity=0) More...
|
| |
| constexpr | PtrMap (Foam::zero) noexcept |
| | Construct empty without allocation (capacity=0) More...
|
| |
| | PtrMap (const label initialCapacity) |
| | Construct empty with given initial table capacity. More...
|
| |
| | PtrMap (Istream &is) |
| | Construct from Istream (with default initial table capacity) More...
|
| |
| | PtrMap (const this_type &map) |
| | Copy construct. More...
|
| |
| | PtrMap (this_type &&map) noexcept |
| | Move construct. More...
|
| |
| void | operator= (const this_type &rhs) |
| | Copy assignment. More...
|
| |
| void | operator= (this_type &&rhs) |
| | Move assignment. More...
|
| |
| constexpr | HashPtrTable () noexcept=default |
| | Default construct: empty without allocation (capacity=0) More...
|
| |
| constexpr | HashPtrTable (Foam::zero) noexcept |
| | Construct empty without allocation (capacity=0) More...
|
| |
| | HashPtrTable (const label initialCapacity) |
| | Construct given initial table capacity. More...
|
| |
| | HashPtrTable (const this_type &rhs) |
| | Copy construct, making a copy of each element. More...
|
| |
| | HashPtrTable (this_type &&rhs) noexcept |
| | 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...
|
| |
| T * | get (const label &key) |
| | Return 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 | merge (HashPtrTable< T, label, Hash< label > > &source) |
| | Attempts to extract entries from source parameter and insert them into this, does not overwrite existing entries. The source will contains any items that could not be merged. More...
|
| |
| void | merge (HashPtrTable< T, label, Hash< label > > &&source) |
| | Attempts to extract entries from source parameter and insert them into this, does not overwrite existing entries. The source will contains any items that could not be merged. 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...
|
| |
| T & | emplace_set (const label &key, Args &&... args) |
| | Emplace set an entry, overwriting any existing entries. More...
|
| |
| T & | try_emplace (const label &key, Args &&... args) |
| | Like emplace_set() but will not overwrite an occupied (non-null) location. 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...
|
| |
| constexpr | HashTable () noexcept |
| | Default construct: empty without allocation (capacity=0) More...
|
| |
| constexpr | HashTable (Foam::zero) noexcept |
| | Construct empty without allocation (capacity=0) More...
|
| |
| | HashTable (const label initialCapacity) |
| | Construct empty with initial table capacity. More...
|
| |
| | HashTable (Istream &is) |
| | Construct from Istream. More...
|
| |
| | HashTable (const this_type &ht) |
| | Copy construct. More...
|
| |
| | HashTable (this_type &&rhs) noexcept |
| | Move construct. More...
|
| |
| | HashTable (std::initializer_list< std::pair< Key, T >> list, const bool overwrite=false) |
| | Construct from key/value pairs in initializer list. More...
|
| |
| | HashTable (const UList< Key > &keys, const UList< T > &values, const bool overwrite=false) |
| | Construct from key/value pairs. More...
|
| |
| | ~HashTable () |
| | Destructor. More...
|
| |
| bool | empty () const noexcept |
| | True if the hash table is empty. More...
|
| |
| label | size () const noexcept |
| | The number of elements in table. More...
|
| |
| label | capacity () const noexcept |
| | The size of the underlying table (the number of buckets) 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 | contains (const Key &key) const |
| | True if hashed key is contained (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< 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 | clear () |
| | Remove all entries from table. More...
|
| |
| void | clearStorage () |
| | Remove all entries from table and the table itself. More...
|
| |
| void | setCapacity (label newCapacity) |
| | Change the hash table capacity (number of buckets). More...
|
| |
| void | resize (label newCapacity) |
| | Rehash the hash table with new number of buckets. Currently identical to setCapacity() More...
|
| |
| void | reserve (label numEntries) |
| | Reserve space for at least the specified number of elements (not the number of buckets) and regenerates the hash table. More...
|
| |
| void | swap (HashTable< T, Key, Hash > &rhs) noexcept |
| | Swap contents into this table. More...
|
| |
| void | transfer (HashTable< T, Key, Hash > &rhs) |
| | Transfer contents into this table. More...
|
| |
| void | merge (HashTable< T, Key, Hash > &source) |
| | Attempts to extract entries from source parameter and insert them into this, does not overwrite existing entries. The source will contains any items that could not be merged. More...
|
| |
| void | merge (HashTable< T, Key, Hash > &&source) |
| | Attempts to extract entries from source parameter and insert them into this, does not overwrite existing entries. The source will contains any items that could not be merged. 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...
|
| |
| bool | found (const Key &key) const |
| | Same as contains() More...
|
| |
| UPtrList< const node_type > | sorted () const |
| | Deprecated(2023-07) use csorted() method. 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...
|
| |
| constexpr | HashTableCore () noexcept=default |
| | Default construct. More...
|
| |