Template dictionary class which manages the storage associated with it. More...
#include <PtrListDictionary.H>


Public Types | |
| typedef DictionaryBase< PtrList< T >, T > | dict_type |
| The template instance used for the dictionary content. | |
| Public Types inherited from UPtrList< T > | |
| typedef T | value_type |
| Type of values the list contains. | |
| typedef T & | reference |
| A non-const reference to the value_type. | |
| typedef const T & | const_reference |
| A const reference to the value_type. | |
Public Member Functions | |
| PtrListDictionary ()=default | |
| Default construct: empty without allocation (capacity=0). | |
| PtrListDictionary (const label len) | |
| Construct given initial list size. | |
| PtrListDictionary (const PtrListDictionary &dict)=default | |
| Copy construct. | |
| template<class INew> | |
| PtrListDictionary (Istream &is, const INew &inew) | |
| Construct from Istream using given Istream constructor class. | |
| PtrListDictionary (Istream &is) | |
| Construct from Istream. | |
| autoPtr< T > | set (const label i, const word &key, T *ptr) |
| Set element to pointer provided and return old element. | |
| autoPtr< T > | set (const label i, const word &key, autoPtr< T > &ptr) |
| Set element to autoPtr value provided and return old element. | |
| autoPtr< T > | set (const label i, const word &key, tmp< T > &ptr) |
| Set element to tmp value provided and return old element. | |
| const T & | operator[] (const word &key) const |
| Find and return entry. | |
| T & | operator[] (const word &key) |
| Find and return entry. | |
| Public Member Functions inherited from DictionaryBase< PtrList< T >, T > | |
| DictionaryBase ()=default | |
| Default construct: empty without allocation (capacity=0). | |
| DictionaryBase (const label initialCapacity) | |
| Construct empty with initial table capacity. | |
| DictionaryBase (const DictionaryBase &dict) | |
| Copy construct. | |
| DictionaryBase (Istream &is, const INew &inew) | |
| Construct from Istream using given Istream constructor class. | |
| DictionaryBase (Istream &is) | |
| Construct from Istream using default Istream constructor class. | |
| bool | contains (const word &keyword) const |
| Search for given keyword. | |
| const T * | cfind (const word &keyword) const |
| Find and return an entry, nullptr on failure. | |
| T * | find (const word &keyword) |
| Find and return an entry, nullptr on failure. | |
| const T * | lookup (const word &keyword) const |
| Find and return entry, FatalError on failure. | |
| T * | lookup (const word &keyword) |
| Find and return entry, FatalError on failure. | |
| wordList | toc () const |
| The table of contents (as a sorted list). | |
| wordList | sortedToc () const |
| The table of contents as a sorted list. | |
| wordList | sortedToc (const Compare &comp) const |
| The table of contents sorted using the specified comparator. | |
| void | push_front (const word &keyword, T *ptr) |
| Add to front of dictionary. | |
| void | push_back (const word &keyword, T *ptr) |
| Add to back of dictionary. | |
| T * | remove (const word &keyword) |
| Remove and return entry specified by keyword. | |
| void | clear () |
| Clear the dictionary. | |
| void | transfer (DictionaryBase< PtrList< T >, T > &dict) |
| Transfer the contents of the argument into this DictionaryBase. | |
| void | operator= (const DictionaryBase &) |
| Copy assignment. | |
| const T * | operator[] (const word &key) const |
| Find and return entry. | |
| T * | operator[] (const word &key) |
| Find and return entry. | |
| bool | found (const word &key) const |
| Same as contains(). | |
| const T * | lookupPtr (const word &k) const |
| Deprecated(2020-03) use cfind(). | |
| T * | lookupPtr (const word &k) |
| Deprecated(2020-03) use find(). | |
| void | insert (const word &k, T *ptr) |
| Add to front of dictionary. | |
| void | prepend (const word &k, T *ptr) |
| Add to front of dictionary. | |
| void | append (const word &k, T *ptr) |
| Add to back of dictionary. | |
| Public Member Functions inherited from PtrList< T > | |
| constexpr | PtrList () noexcept |
| Default construct. | |
| PtrList (const label len) | |
| Construct with specified size, each element initialized to nullptr. | |
| PtrList (const PtrList< T > &list) | |
| Copy construct using 'clone()' method on each element. | |
| PtrList (PtrList< T > &&list) noexcept | |
| Move construct. | |
| PtrList (UList< T * > &list) | |
| Take ownership of pointers in the list, set old pointers to null. | |
| template<class CloneArg> | |
| PtrList (const PtrList< T > &list, const CloneArg &cloneArgs) | |
| Copy construct using 'clone()' method on each element. | |
| PtrList (PtrList< T > &list, bool reuse) | |
| Construct as copy or re-use as specified. | |
| PtrList (const SLPtrList< T > &list) | |
| Copy construct using 'clone()' on each element of SLPtrList<T>. | |
| template<class INew> | |
| PtrList (Istream &is, const INew &inew) | |
| Construct from Istream using given Istream constructor class. | |
| PtrList (Istream &is) | |
| Construct from Istream using default Istream constructor class. | |
| ~PtrList () | |
| Destructor. Frees all pointers. | |
| template<class... Args> | |
| PtrList< T > | clone (Args &&... args) const |
| Make a copy by cloning each of the list elements. | |
| const T * | set (const label i) const |
| Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). | |
| void | clear () |
| Clear the PtrList. Delete allocated entries and set size to zero. | |
| void | free () |
| Free memory and nullify all entries. Does not change the list size. | |
| void | resize (const label newLen) |
| Adjust size of PtrList. | |
| void | resize_null (const label newLen) |
Set the addressed list to the given size, deleting all existing entries. Afterwards the list contains all nullptr entries. | |
| template<class... Args> | |
| T & | emplace_back (Args &&... args) |
| Construct and append an element to the end of the list, return reference to the new list element. | |
| void | push_back (T *ptr) |
| Append an element to the end of the list. | |
| void | push_back (std::unique_ptr< T > &&ptr) |
| Move append an element to the end of the list. | |
| void | push_back (autoPtr< T > &&ptr) |
| Move append an element to the end of the list. | |
| void | push_back (const refPtr< T > &ptr) |
| Move or clone append a refPtr to the end of the list. | |
| void | push_back (const tmp< T > &ptr) |
| Move or clone append a tmp to the end of the list. | |
| void | push_back (PtrList< T > &&other) |
| Move append another list to the end of this list. | |
| template<class... Args> | |
| T & | emplace_set (const label i, Args &&... args) |
| Construct and set a new element at given position, (discard old element at that location). | |
| template<class... Args> | |
| T & | emplace (const label i, Args &&... args) |
| Same as emplace_set(). | |
| template<class... Args> | |
| T & | try_emplace (const label i, Args &&... args) |
| Like emplace_set() but will not overwrite an occupied (non-null) location. | |
| autoPtr< T > | set (const label i, T *ptr) |
| Set element to given pointer and return old element (can be null). | |
| autoPtr< T > | set (const label i, std::unique_ptr< T > &&ptr) |
| Set element to given unique_ptr and return old element. | |
| autoPtr< T > | set (const label i, autoPtr< T > &&ptr) |
| Set element to given autoPtr and return old element. | |
| autoPtr< T > | set (const label i, const refPtr< T > &ptr) |
| Set element to given refPtr and return old element. | |
| autoPtr< T > | set (const label i, const tmp< T > &ptr) |
| Set element to given tmp and return old element. | |
| autoPtr< T > | release (const label i) |
| Release ownership of the pointer at the given position. | |
| void | transfer (PtrList< T > &list) |
| Transfer into this list and annul the argument list. | |
| void | operator= (const UPtrList< T > &list) |
| Copy assignment. | |
| void | operator= (const PtrList< T > &list) |
| Copy assignment. | |
| void | operator= (PtrList< T > &&list) |
| Move assignment. | |
| void | push_back (autoPtr< T > &ptr)=delete |
| Disallow push_back with autoPtr without std::move. | |
| autoPtr< T > | set (const label i, autoPtr< T > &ptr) |
| Set element to given autoPtr and return old element. | |
| void | setSize (const label n) |
| Same as resize(). | |
| void | append (autoPtr< T > &ptr) |
| Move append an element to the end of the list. | |
| void | append (T *ptr) |
| Append an element to the end of the list. | |
| void | append (std::unique_ptr< T > &&ptr) |
| Move append an element to the end of the list. | |
| void | append (autoPtr< T > &&ptr) |
| Move append an element to the end of the list. | |
| void | append (const refPtr< T > &ptr) |
| Move or clone append a tmp to the end of the list. | |
| void | append (const tmp< T > &ptr) |
| Move or clone append a tmp to the end of the list. | |
| void | append (PtrList< T > &&other) |
| Move append another list to the end of this list. | |
| template<class... Args> | |
| Foam::PtrList< T > | clone (Args &&... args) const |
| Public Member Functions inherited from UPtrList< T > | |
| constexpr | UPtrList () noexcept=default |
| Default construct. | |
| UPtrList (const label len) | |
Construct with specified size and set all entries to nullptr. | |
| UPtrList (const UPtrList< T > &list) | |
| Copy construct (shallow copies addresses). | |
| UPtrList (UPtrList< T > &&list) noexcept | |
| Move construct. | |
| UPtrList (UPtrList< T > &list, bool reuse) | |
| Construct as shallow copy or re-use as specified. | |
| UPtrList (PtrList< T > &list) | |
| Shallow copy from PtrList. | |
| UPtrList (const UList< T * > &list) | |
| Construct from UList of pointers (shallow copy). | |
| UPtrList (UList< T > &list) | |
| Construct from UList, taking the address of each list element. | |
| bool | empty () const noexcept |
| True if the list is empty (ie, size() is zero). | |
| label | size () const noexcept |
| The number of entries in the list. | |
| label | capacity () const noexcept |
| Size of the underlying storage. | |
| label | count_nonnull () const noexcept |
| The number of non-nullptr entries in the list. | |
| T & | front () |
| Reference to the first element of the list. | |
| const T & | front () const |
| Reference to first element of the list. | |
| T & | back () |
| Reference to the last element of the list. | |
| const T & | back () const |
| Reference to the last element of the list. | |
| const T * | test (const label i) const |
| Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). | |
| const T * | get (const label i) const |
| Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). | |
| T * | get (const label i) |
| Return pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). | |
| const T * | set (const label i) const |
| Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). | |
| void | clear () |
| Set list size to zero. | |
| void | free () |
| Nullify all entries. Does not change the list size. | |
| void | resize (const label newLen) |
Change the size of the list. Any new entries are nullptr. | |
| void | resize_null (const label newLen) |
Set the list to the given size and set all entries to nullptr. | |
| label | squeezeNull () |
| Squeeze out nullptr entries in the list of pointers after which any null pointers will be at the end of the list. | |
| void | push_back (T *ptr) |
| Append an element to the end of the list. | |
| void | push_back (UPtrList< T > &&other) |
| Move append another list to the end of this list. | |
| void | swap (UPtrList< T > &list) noexcept |
| Swap content. | |
| void | transfer (UPtrList< T > &list) |
| Transfer contents into this list and annul the argument. | |
| T * | set (const label i, T *ptr) |
| Set element to specified pointer and return the old list element, which can be a nullptr. | |
| void | reorder (const labelUList &oldToNew, const bool check=false) |
| Reorder elements. Reordering must be unique (ie, shuffle). | |
| void | sortOrder (const labelUList &order, const bool check=false) |
| Reorder elements according to new order mapping (newToOld). Reordering must be unique (ie, shuffle). | |
| void | checkNonNull () const |
| Check and raise FatalError if any nullptr exists in the list. | |
| const T & | at (const label i) const |
| Return const reference to the element at given position. FatalError for bounds problem or nullptr. | |
| T & | at (const label i) |
| Return reference to the element at given position. FatalError for bounds problem or nullptr. | |
| const T & | operator[] (const label i) const |
| Return const reference to the element at given position. FatalError for bounds problem or nullptr. Same as at(). | |
| T & | operator[] (const label i) |
| Return reference to the element at given position. FatalError for bounds problem or nullptr. Same as at(). | |
| FOAM_DEPRECATED_FOR (2022-09, "get(), set() or test() methods") const T *operator()(const label i) const | |
| Deprecated(2022-09) - same as get(). | |
| void | operator= (const UPtrList< T > &list) |
| Copy assignment (shallow copies addresses). | |
| void | operator= (UPtrList< T > &&list) |
| Move assignment. | |
| Ostream & | printAddresses (Ostream &os) const |
| Print pointer addresses to Ostream (debugging only). | |
| Ostream & | writeList (Ostream &os, const bool trimNull=false) const |
| Write UPtrList to Ostream, optionally ignoring null entries. | |
| T ** | begin_ptr () noexcept |
| Iterator to begin of raw pointers traversal (use with caution). | |
| T ** | end_ptr () noexcept |
| Iterator beyond end of raw pointers traversal (use with caution). | |
| iterator | begin () |
| Return iterator to begin traversal of non-nullptr entries. | |
| iterator | end () noexcept |
| Return iterator beyond end of UPtrList traversal. | |
| const_iterator | cbegin () const |
| Return const_iterator to begin traversal of non-nullptr entries. | |
| const_iterator | cend () const noexcept |
| Return const_iterator beyond end of UPtrList traversal. | |
| const_iterator | begin () const |
| Return const_iterator to begin traversal of non-nullptr entries. | |
| const_iterator | end () const noexcept |
| Return const_iterator beyond end of UPtrList traversal. | |
| void | setSize (const label n) |
| Alias for resize(). | |
| T & | first () |
| Reference to the first element of the list. | |
| const T & | first () const |
| Return reference to first element of the list. | |
| T & | last () |
| Return reference to the last element of the list. | |
| const T & | last () const |
| Return reference to the last element of the list. | |
| void | append (T *ptr) |
| Append an element to the end of the list. | |
| void | append (UPtrList< T > &&other) |
| Move append another list to the end of this list. | |
| label | count () const noexcept |
| The number of non-nullptr entries in the list. | |
Additional Inherited Members | |
| Protected Member Functions inherited from DictionaryBase< PtrList< T >, T > | |
| bool | addHashEntry (const word &key, T *ptr) |
| Add an entry to the HashTable. | |
| void | addEntries () |
| Add the IDLListType entries into the HashTable. | |
| Protected Member Functions inherited from PtrList< T > | |
| template<class INew> | |
| void | readIstream (Istream &is, const INew &inew) |
| Read from Istream using Istream constructor class. | |
| Protected Member Functions inherited from UPtrList< T > | |
| void | setAddressableSize (const label n) noexcept |
| Adjust addressable size. | |
| label | find_next (label pos) const |
| The next non-null entry after the specified position. | |
| UPtrList (Detail::PtrListDetail< T > &&ptrs) noexcept | |
| Low-level move construct. | |
| Protected Attributes inherited from DictionaryBase< PtrList< T >, T > | |
| HashTable< T * > | hashedTs_ |
| HashTable of the entries held on the IDLListType for quick lookup. | |
| Protected Attributes inherited from UPtrList< T > | |
| Detail::PtrListDetail< T > | ptrs_ |
| The list of pointers. | |
Template dictionary class which manages the storage associated with it.
It is derived from DictionaryBase instantiated on the memory managed PtrList of <T> to provide ordered indexing in addition to the dictionary lookup.
Definition at line 52 of file PtrListDictionary.H.
The template instance used for the dictionary content.
Definition at line 61 of file PtrListDictionary.H.
|
default |
Default construct: empty without allocation (capacity=0).
|
inlineexplicit |
Construct given initial list size.
Definition at line 74 of file PtrListDictionary.H.
Construct from Istream using given Istream constructor class.
Definition at line 89 of file PtrListDictionary.H.
Construct from Istream.
Definition at line 97 of file PtrListDictionary.H.
Set element to pointer provided and return old element.
Definition at line 108 of file PtrListDictionary.H.
Referenced by PtrListDictionary< phaseModel >::set(), and PtrListDictionary< phaseModel >::set().

Set element to autoPtr value provided and return old element.
Definition at line 124 of file PtrListDictionary.H.
Set element to tmp value provided and return old element.
Definition at line 132 of file PtrListDictionary.H.
Find and return entry.
Definition at line 145 of file PtrListDictionary.H.
Find and return entry.
Definition at line 153 of file PtrListDictionary.H.