A wordList with hashed named lookup, which can be faster in some situations than using the normal list find/found methods. More...
#include <hashedWordList.H>


Public Member Functions | |
| hashedWordList ()=default | |
| Default construct an empty list. | |
| hashedWordList (const hashedWordList &list) | |
| Copy construct. | |
| hashedWordList (hashedWordList &&list) | |
| Move construct. | |
| hashedWordList (const wordUList &list) | |
| Copy construct from list of words. | |
| hashedWordList (const wordUList &list, bool unique) | |
| Copy construct from list of words, eliminating duplicates. | |
| hashedWordList (wordList &&list, bool unique=false) | |
| Move construct from list of words, optionally eliminating duplicates. | |
| hashedWordList (std::initializer_list< word > list) | |
| Construct from an initializer list. | |
| template<class AnyType, class AnyHash> | |
| hashedWordList (const HashTable< AnyType, word, AnyHash > &tbl) | |
| Construct from the word keys of any HashTable, sorting immediately. | |
| hashedWordList (Istream &is) | |
| Construct from Istream. | |
| void | clear () |
| Clear the list, i.e. set size to zero. | |
| label | push_uniq (const word &val) |
| Append an element if not already in the list. | |
| const HashTable< label > & | lookup () const |
| Return the hash of words/indices for inspection. | |
| void | swap (hashedWordList &list) |
| Swap contents. | |
| void | transfer (hashedWordList &list) |
| Transfer contents of the argument into this list and annul the argument list, optionally eliminating duplicates. | |
| void | transfer (wordList &list, bool unique=false) |
| Transfer the contents of the argument List into this list and annul the argument list, optionally eliminating duplicates. | |
| void | rehash () const |
| Rebuild the lookup hash indices. | |
| void | rehash (bool unique) |
| Rebuild the lookup hash indices, or make unique entries first. | |
| void | uniq () |
| Adjust the list (if needed) to eliminate duplicate entries, and rehash the indices. | |
| void | sort () |
| Inplace sort list and rehash the indices. | |
| label | find (const word &val) const |
| Find index of the value (searches the hash). | |
| bool | contains (const word &val) const |
| Is the value contained in the list (searches the hash). | |
| const word & | operator[] (const label index) const |
| Return name corresponding to specified index. | |
| label | operator[] (const word &val) const |
| Find index of the value (searches the hash) - same as find(). | |
| bool | operator() (const word &val) const |
| Check hashed values for the specified name - same as contains(). | |
| void | operator= (const hashedWordList &list) |
| Copy assignment. Rehashes the indices. | |
| void | operator= (const wordUList &list) |
| Copy assignment from list of words. Rehashes the indices. | |
| void | operator= (std::initializer_list< word > list) |
| Copy assignment from initializer list. Rehashes the indices. | |
| void | operator= (hashedWordList &&list) |
| Move assignment operator. | |
| void | operator= (wordList &&list) |
| Move assignment from list of words. Rehashes the indices. | |
| bool | found (const word &val) const |
| Same as contains(), searches the hash. | |
| void | append (const word &val) |
| Same as push_uniq(). | |
| void | push_back (const word &val) |
| Same as push_uniq(). | |
| label | appendUniq (const word &val) |
| Same as push_uniq(). | |
| Public Member Functions inherited from List< word > | |
| constexpr | List () noexcept |
| Default construct. | |
| List (const label len) | |
| Construct with given size. | |
| List (const label len, const word &val) | |
| Construct with given size and value for all elements. | |
| List (const label len, Foam::zero) | |
| Construct with given size initializing all elements to zero. | |
| List (Foam::one, const word &val) | |
| Construct with length=1, copying the value as the only content. | |
| List (Foam::one, word &&val) | |
| Construct with length=1, moving the value as the only content. | |
| List (Foam::one, Foam::zero) | |
| Construct with length=1, initializing content to zero. | |
| List (const List< word > &list) | |
| Copy construct from list. | |
| List (const UList< word > &list) | |
| Copy construct contents from list. | |
| List (List< word > &list, bool reuse) | |
| Construct as copy or re-use as specified. | |
| List (const UList< word > &list, const labelUList &indices) | |
| Copy construct subset of list. | |
| List (const UList< word > &list, const FixedList< label, N > &indices) | |
| Copy construct subset of list. | |
| List (const FixedList< word, N > &list) | |
| Construct as copy of FixedList<T, N>. | |
| List (const UPtrList< word > &list) | |
| Construct as copy of UPtrList<T> content. | |
| List (const IndirectListBase< word, Addr > &list) | |
| Construct as copy of IndirectList contents. | |
| List (std::initializer_list< word > list) | |
| Construct from an initializer list. | |
| List (List< word > &&list) noexcept | |
| Move construct from List. | |
| List (DynamicList< word, SizeMin > &&list) | |
| Move construct from DynamicList. | |
| List (Istream &is) | |
| Construct from Istream. | |
| autoPtr< List< word > > | clone () const |
| Clone. | |
| ~List () | |
| Destructor. | |
| void | clear () |
| Clear the list, i.e. set size to zero. | |
| void | resize (const label len) |
| Adjust allocated size of list. | |
| void | resize (const label len, const word &val) |
| Adjust allocated size of list and set val for new elements. | |
| void | resize_copy (label count, const label len) |
| Change allocated size of list, retaining the first count elements. | |
| void | resize_fill (const label len, const word &val) |
| Adjust allocated size of list and set val for all elements. | |
| void | resize_nocopy (const label len) |
| Adjust allocated size of list without necessarily. | |
| void | transfer (List< word > &list) |
| Transfer the contents of the argument List into this list and annul the argument list. | |
| void | transfer (DynamicList< word, SizeMin > &list) |
| Transfer the contents of the argument List into this list and annul the argument list. | |
| word & | newElmt (const label i) |
| Return subscript-checked element of UList and resizing the list if required. | |
| word & | emplace_back (Args &&... args) |
| Construct an element at the end of the list, return reference to the new list element. | |
| void | push_back (const word &val) |
| Append an element at the end of the list. | |
| void | push_back (word &&val) |
| Move append an element at the end of the list. | |
| void | push_back (const UList< word > &list) |
| Append a List to the end of this list. | |
| void | push_back (const IndirectListBase< word, Addr > &list) |
| Append IndirectList contents at the end of this list. | |
| label | push_uniq (const word &val) |
| Append an element if not already in the list. | |
| void | pop_back (label n=1) |
| Reduce size by 1 or more elements. Can be called on an empty list. | |
| void | operator= (const UList< word > &list) |
| Assignment to UList operator. Takes linear time. | |
| void | operator= (const List< word > &list) |
| Assignment operator. Takes linear time. | |
| void | operator= (const IndirectListBase< word, Addr > &list) |
| Assignment from IndirectList. Takes linear time. | |
| void | operator= (const FixedList< word, N > &list) |
| Copy assignment from FixedList. | |
| void | operator= (std::initializer_list< word > list) |
| Assignment to an initializer list. | |
| void | operator= (const word &val) |
| Assignment of all entries to the given value. | |
| void | operator= (Foam::zero) |
| Assignment of all entries to zero. | |
| void | operator= (List< word > &&list) |
| Move assignment. Takes constant time. | |
| void | operator= (DynamicList< word, SizeMin > &&list) |
| Move assignment. Takes constant time. | |
| Istream & | readList (Istream &is) |
| Read List from Istream, discarding contents of existing List. | |
| void | shallowCopy (const UList< word > &)=delete |
| No shallowCopy permitted. | |
| bool | set (const label i, bool val=true) |
| A bitSet::set() method for a list of bool. | |
| void | append (const word &val) |
| Append an element at the end of the list. | |
| void | append (word &&val) |
| Move append an element at the end of the list. | |
| void | append (const UList< word > &list) |
| Append a List to the end of this list. | |
| void | append (const IndirectListBase< word, Addr > &list) |
| Append IndirectList contents at the end of this list. | |
| label | appendUniq (const word &val) |
| Same as push_uniq(). | |
| void | setSize (label n) |
| Alias for resize(). | |
| void | setSize (label n, const word &val) |
| Alias for resize(). | |
| List (const Expression::ListExpression< E > &expr) | |
| Construct from value expression. | |
| void | operator= (const Expression::ListExpression< E > &expr) |
| Assign values from expression. | |
| void | resize (const label len) |
| Public Member Functions inherited from UList< word > | |
| UList (const UList< word > &) noexcept=default | |
| Copy construct, shallow copy. | |
| UList (UList< word > &&) noexcept=default | |
| Move construct, shallow copy. | |
| UList< word > & | operator= (const UList< word > &)=delete |
| No copy assignment (default: shallow copy). | |
| UList< word > & | operator= (UList< word > &&) noexcept=default |
| Move assignment, shallow copy. | |
| constexpr | UList () noexcept |
| Default construct, zero-sized and nullptr. | |
| UList (word *__restrict__ ptr, const label len) noexcept | |
| Construct from components. | |
| UList (SubList< word > &&) noexcept | |
| Move construct from a SubList, shallow copy. | |
| label | fcIndex (const label i) const noexcept |
| The forward circular index. The next index in the list which returns to the first at the end of the list. | |
| label | rcIndex (const label i) const noexcept |
| The reverse circular index. The previous index in the list which returns to the last at the beginning of the list. | |
| const word & | fcValue (const label i) const |
| Return forward circular value (ie, next value in the list). | |
| word & | fcValue (const label i) |
| Return forward circular value (ie, next value in the list). | |
| const word & | rcValue (const label i) const |
| Return reverse circular value (ie, previous value in the list). | |
| word & | rcValue (const label i) |
| Return reverse circular value (ie, previous value in the list). | |
| const word * | cdata () const noexcept |
| Return pointer to the underlying array serving as data storage. | |
| word * | data () noexcept |
| Return pointer to the underlying array serving as data storage. | |
| const char * | cdata_bytes () const noexcept |
| Return pointer to the underlying array serving as data storage,. | |
| char * | data_bytes () noexcept |
| Return pointer to the underlying array serving as data storage,. | |
| word & | front () |
| Access first element of the list, position [0]. | |
| const word & | front () const |
| Access first element of the list. | |
| word & | back () |
| Access last element of the list, position [size()-1]. | |
| const word & | back () const |
| Access last element of the list, position [size()-1]. | |
| std::streamsize | size_bytes () const noexcept |
| Number of contiguous bytes for the List data. | |
| std::streamsize | byteSize () const |
| Number of contiguous bytes for the List data, runtime FatalError if type is not contiguous. | |
| void | checkStart (const label start) const |
| Check start is within valid range [0,size). | |
| void | checkSize (const label size) const |
| Check size is within valid range [0,size]. | |
| void | checkRange (const label start, const label len) const |
| Check that start and length define a valid range. | |
| void | checkIndex (const label i) const |
| Check index is within valid range [0,size). | |
| bool | uniform () const |
| True if all entries have identical values, and list is non-empty. | |
| bool | contains (const word &val) const |
| True if the value is contained in the list. | |
| bool | contains (const word &val, label pos, label len=-1) const |
| Is the value contained in the list? | |
| label | find (const word &val) const |
| Find index of the first occurrence of the value. | |
| label | find (const word &val, label pos, label len=-1) const |
| Find index of the first occurrence of the value. | |
| label | rfind (const word &val, label pos=-1) const |
| Find index of the last occurrence of the value. | |
| void | moveFirst (const label i) |
| Move element to the first position. | |
| void | moveLast (const label i) |
| Move element to the last position. | |
| void | swapFirst (const label i) |
| Swap element with the first element. Fatal on an empty list. | |
| void | swapLast (const label i) |
| Swap element with the last element. Fatal on an empty list. | |
| void | shallowCopy (word *__restrict__ ptr, const label len) noexcept |
| Copy the pointer and size. | |
| void | shallowCopy (std::nullptr_t) noexcept |
| Copy nullptr and zero size. | |
| void | shallowCopy (const UList< word > &list) noexcept |
| Copy the pointer and size held by the given UList. | |
| void | deepCopy (const UList< word > &list) |
| Copy elements of the given UList. Sizes must match! | |
| void | deepCopy (const IndirectListBase< word, Addr > &list) |
| Copy elements of the given indirect list. Sizes must match! | |
| SubList< word > | slice (const label pos, label len=-1) |
| Return SubList slice (non-const access) - no range checking. | |
| const SubList< word > | slice (const label pos, label len=-1) const |
| Return SubList slice (const access) - no range checking. | |
| SubList< word > | slice (const labelRange &range) |
| Return SubList slice (non-const access) - with range checking. | |
| const SubList< word > | slice (const labelRange &range) const |
| Return SubList slice (const access) - with range checking. | |
| word & | operator[] (const label i) |
| Return element of UList. | |
| const word & | operator[] (const label i) const |
| Return element of constant UList. | |
| operator const Foam::List< word > & () const | |
| Allow cast to a const List<T>&. | |
| void | operator= (const word &val) |
| Assignment of all entries to the given value. | |
| void | operator= (Foam::zero) |
| Assignment of all entries to zero. | |
| iterator | begin () noexcept |
| Return an iterator to begin traversing the UList. | |
| iterator | end () noexcept |
| Return an iterator to end traversing the UList. | |
| iterator | begin (const label i) noexcept |
| Return iterator at offset i from begin, clamped to [0,size] range. | |
| const_iterator | cbegin () const noexcept |
| Return const_iterator to begin traversing the constant UList. | |
| const_iterator | cend () const noexcept |
| Return const_iterator to end traversing the constant UList. | |
| const_iterator | begin () const noexcept |
| Return const_iterator to begin traversing the constant UList. | |
| const_iterator | end () const noexcept |
| Return const_iterator to end traversing the constant UList. | |
| const_iterator | cbegin (const label i) const noexcept |
| Return const_iterator at offset i from begin, clamped to [0,size] range. | |
| const_iterator | begin (const label i) const noexcept |
| Return const_iterator at offset i from begin, clamped to [0,size] range. | |
| reverse_iterator | rbegin () |
| Return reverse_iterator to begin reverse traversing the UList. | |
| reverse_iterator | rend () |
| Return reverse_iterator to end reverse traversing the UList. | |
| const_reverse_iterator | crbegin () const |
| Return const_reverse_iterator to begin reverse traversing the UList. | |
| const_reverse_iterator | crend () const |
| Return const_reverse_iterator to end reverse traversing the UList. | |
| const_reverse_iterator | rbegin () const |
| Return const_reverse_iterator to begin reverse traversing the UList. | |
| const_reverse_iterator | rend () const |
| Return const_reverse_iterator to end reverse traversing the UList. | |
| bool | empty () const noexcept |
| True if List is empty (ie, size() is zero). | |
| label | size () const noexcept |
| The number of elements in the container. | |
| label | capacity () const noexcept |
| Size of the underlying storage. | |
| void | swap (UList< word > &list) noexcept |
| Swap content with another UList of the same type in constant time. | |
| bool | operator== (const UList< word > &list) const |
| Equality operation on ULists of the same type. | |
| bool | operator!= (const UList< word > &list) const |
| The opposite of the equality operation. Takes linear time. | |
| bool | operator< (const UList< word > &list) const |
| Compare two ULists lexicographically. Takes linear time. | |
| bool | operator> (const UList< word > &list) const |
| Compare two ULists lexicographically. Takes linear time. | |
| bool | operator<= (const UList< word > &list) const |
| Return true if !(a > b). Takes linear time. | |
| bool | operator>= (const UList< word > &list) const |
| Return true if !(a < b). Takes linear time. | |
| Istream & | readList (Istream &is) |
| Read List contents from Istream. | |
| void | writeEntry (const word &keyword, Ostream &os) const |
| Write the List as a dictionary entry with keyword. | |
| Ostream & | writeList (Ostream &os, const label shortLen=0) const |
| Write List, with line-breaks in ASCII when length exceeds shortLen. | |
| bool | all () const |
| True if all entries are 'true' or if the list is empty. | |
| bool | any () const |
| True if any entries are 'true'. | |
| bool | none () const |
| True if no entries are 'true'. | |
| bool | test (const label i) const |
Test bool value at specified position, always false for out-of-range access. | |
| bool | get (const label i) const |
Return bool value at specified position, always false for out-of-range access. | |
| bool | unset (const label i) |
Unset the bool entry at specified position, always false for out-of-range access. | |
| std::string_view | view () const |
| Return a string_view of the charList. Content is non-modifiable. | |
| word & | first () |
| Access first element of the list, position [0]. | |
| const word & | first () const |
| Access first element of the list. | |
| word & | last () |
| Access last element of the list, position [size()-1]. | |
| const word & | last () const |
| Access last element of the list, position [size()-1]. | |
| bool | found (const word &val, label pos=0) const |
| Same as contains(). | |
| auto | expr () const |
| Wrap value as expression. | |
| void | operator= (const Expression::ListExpression< E > &expr) |
| Assign values from expression. | |
| operator const Foam::List< word > & () const | |
| Allow cast to a const List<T>&. | |
Additional Inherited Members | |
| Public Types inherited from List< word > | |
| typedef SubList< word > | subList |
| Declare type of subList. | |
| Public Types inherited from UList< word > | |
| typedef word | value_type |
| The value type the list contains. | |
| typedef word * | pointer |
| The pointer type for non-const access to value_type items. | |
| typedef const word * | const_pointer |
| The pointer type for const access to value_type items. | |
| typedef word & | reference |
| The type used for storing into value_type objects. | |
| typedef const word & | const_reference |
| The type used for reading from constant value_type objects. | |
| typedef word * | iterator |
| Random access iterator for traversing a UList. | |
| typedef const word * | const_iterator |
| Random access iterator for traversing a UList. | |
| typedef label | size_type |
| The type to represent the size of a UList. | |
| typedef label | difference_type |
| The difference between iterator objects. | |
| typedef std::reverse_iterator< iterator > | reverse_iterator |
| Reverse iterator (non-const access). | |
| typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
| Reverse iterator (const access). | |
| using | is_List |
| Have unique tag. | |
| Static Public Member Functions inherited from List< word > | |
| static const List< word > & | null () noexcept |
| Return a null List (reference to a nullObject). Behaves like an empty List. | |
| Static Public Member Functions inherited from UList< word > | |
| static const UList< word > & | null () noexcept |
| Return a null UList (reference to a nullObject). Behaves like an empty UList. | |
| static constexpr label | max_size () noexcept |
| The size of the largest possible UList. | |
| Protected Member Functions inherited from UList< word > | |
| void | setAddressableSize (const label n) noexcept |
| Set addressed size to be inconsistent with allocated storage. | |
| void | size (const label n) |
| Older name for setAddressableSize. | |
| void | writeEntry (Ostream &os) const |
| Write the UList with its compound type. | |
| labelRange | validateRange (const labelRange &requestedRange) const |
| Return a validated (start,size) subset range, which means that it always addresses a valid section of the list. | |
| void | fill_uniform (const word &val) |
| Assign all entries to the given value. | |
| void | fill_uniform (Foam::zero) |
| Assign all entries to zero. | |
A wordList with hashed named lookup, which can be faster in some situations than using the normal list find/found methods.
Definition at line 50 of file hashedWordList.H.
|
default |
Default construct an empty list.
References hashedWordList().
Referenced by hashedWordList(), hashedWordList(), hashedWordList(), hashedWordList(), operator=(), operator=(), swap(), transfer(), and uniq().


|
inline |
Copy construct.
Definition at line 23 of file hashedWordListI.H.
References hashedWordList().

|
inline |
Move construct.
Definition at line 29 of file hashedWordListI.H.
References hashedWordList().

|
inlineexplicit |
Copy construct from list of words.
Definition at line 36 of file hashedWordListI.H.
References hashedWordList().

|
inline |
Copy construct from list of words, eliminating duplicates.
Definition at line 42 of file hashedWordListI.H.
References rehash().

|
inline |
Move construct from list of words, optionally eliminating duplicates.
Definition at line 50 of file hashedWordListI.H.
References rehash().

|
inline |
Construct from an initializer list.
Definition at line 58 of file hashedWordListI.H.
References rehash().

|
inlineexplicit |
Construct from the word keys of any HashTable, sorting immediately.
This also handles a wordHashSet, which is derived from a HashTable. The result is similar to a HashTable::sortedToc.
Definition at line 67 of file hashedWordListI.H.
References rehash().

|
inlineexplicit |
Construct from Istream.
Definition at line 78 of file hashedWordListI.H.
|
inline |
Clear the list, i.e. set size to zero.
Definition at line 86 of file hashedWordListI.H.
References List< word >::clear().

|
inline |
Append an element if not already in the list.
Definition at line 93 of file hashedWordListI.H.
References List< word >::push_back(), and UList< word >::size().
Referenced by append(), appendUniq(), push_back(), and solidReaction< ReactionThermo >::solidReaction().


|
inline |
Return the hash of words/indices for inspection.
Definition at line 106 of file hashedWordListI.H.
References rehash(), and UList< word >::size().
Referenced by contains(), and find().


|
inline |
Swap contents.
Definition at line 132 of file hashedWordListI.H.
References hashedWordList(), and UList< word >::swap().

|
inline |
Transfer contents of the argument into this list and annul the argument list, optionally eliminating duplicates.
Definition at line 144 of file hashedWordListI.H.
References hashedWordList(), and List< word >::transfer().

|
inline |
Transfer the contents of the argument List into this list and annul the argument list, optionally eliminating duplicates.
Definition at line 151 of file hashedWordListI.H.
References rehash(), and List< word >::transfer().

| void rehash | ( | ) | const |
Rebuild the lookup hash indices.
Referenced by hashedWordList(), hashedWordList(), hashedWordList(), hashedWordList(), lookup(), operator=(), operator=(), operator=(), operator=(), Foam::operator>>(), rehash(), sort(), and transfer().

|
inline |
Rebuild the lookup hash indices, or make unique entries first.
Definition at line 158 of file hashedWordListI.H.
References rehash(), and uniq().

| void uniq | ( | ) |
Adjust the list (if needed) to eliminate duplicate entries, and rehash the indices.
References hashedWordList().
Referenced by rehash().


|
inline |
Inplace sort list and rehash the indices.
Definition at line 171 of file hashedWordListI.H.
References rehash(), and Foam::sort().

|
inline |
Find index of the value (searches the hash).
Definition at line 120 of file hashedWordListI.H.
References lookup().
Referenced by InterfaceCompositionModel< Thermo, OtherThermo >::getLocalThermo(), diffusionMulticomponent< ReactionThermo, ThermoType >::R(), and singleStepReactingMixture< ThermoType >::singleStepReactingMixture().


|
inline |
Is the value contained in the list (searches the hash).
Definition at line 126 of file hashedWordListI.H.
References lookup().
Referenced by found().


|
inline |
Return name corresponding to specified index.
Fatal for out of range values.
Definition at line 180 of file hashedWordListI.H.
References UList< word >::operator[]().
Referenced by singleStepReactingMixture< ThermoType >::calculateMaxProducts(), singleStepReactingMixture< ThermoType >::calculateqFuel(), and singleStepReactingMixture< ThermoType >::fresCorrect().


|
inline |
Find index of the value (searches the hash) - same as find().
Definition at line 189 of file hashedWordListI.H.
|
inline |
Check hashed values for the specified name - same as contains().
Can be used as a unary predicate.
Definition at line 195 of file hashedWordListI.H.
|
inline |
Copy assignment. Rehashes the indices.
Definition at line 201 of file hashedWordListI.H.
References hashedWordList(), List< word >::operator=(), and rehash().

|
inline |
Copy assignment from list of words. Rehashes the indices.
Definition at line 208 of file hashedWordListI.H.
References List< word >::operator=(), and rehash().

|
inline |
Copy assignment from initializer list. Rehashes the indices.
Definition at line 215 of file hashedWordListI.H.
References List< word >::operator=(), and rehash().

|
inline |
Move assignment operator.
Definition at line 222 of file hashedWordListI.H.
References hashedWordList(), and List< word >::transfer().

|
inline |
Move assignment from list of words. Rehashes the indices.
Definition at line 229 of file hashedWordListI.H.
References rehash(), and List< word >::transfer().

|
inline |
Same as contains(), searches the hash.
Definition at line 248 of file hashedWordList.H.
References contains().

|
inline |
Same as push_uniq().
Definition at line 254 of file hashedWordList.H.
References append(), and push_uniq().
Referenced by append().


|
inline |
Same as push_uniq().
Definition at line 260 of file hashedWordList.H.
References push_back(), and push_uniq().
Referenced by push_back().


|
inline |
Same as push_uniq().
Definition at line 266 of file hashedWordList.H.
References appendUniq(), and push_uniq().
Referenced by appendUniq().

