A List of wordRe with additional matching capabilities. More...
#include <wordRes.H>


Classes | |
| struct | matcher |
| Functor wrapper of a list of wordRe for matching. More... | |
| struct | filter |
| Functor wrapper of allow/deny lists of wordRe for filtering. More... | |
Public Member Functions | |
| ~wordRes ()=default | |
| Destructor. | |
| void | uniq () |
| Filter out duplicate entries (inplace). | |
| bool | match (const std::string &text, bool literal=false) const |
| Smart match as literal or regex, stopping on the first match. | |
| wordRe::compOption | matched (const std::string &text) const |
| Smart match in the list of matchers, returning the match type. | |
| template<class StringType> | |
| labelList | matching (const UList< StringType > &input, const bool invert=false) const |
| Determine the list indices for all matches. | |
| bool | operator() (const std::string &text) const |
| Identical to match(), for use as a predicate. | |
| template<class StringType> | |
| Foam::labelList | matching (const wordRe &select, const UList< StringType > &input, const bool invert) |
| template<class StringType> | |
| Foam::labelList | matching (const UList< wordRe > &selectors, const UList< StringType > &input, const bool invert) |
| template<class StringType> | |
| Foam::labelList | matching (const UList< StringType > &input, const bool invert) const |
| Public Member Functions inherited from List< wordRe > | |
| constexpr | List () noexcept |
| Default construct. | |
| List (const label len) | |
| Construct with given size. | |
| List (const label len, const wordRe &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 wordRe &val) | |
| Construct with length=1, copying the value as the only content. | |
| List (Foam::one, wordRe &&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< wordRe > &list) | |
| Copy construct from list. | |
| List (const UList< wordRe > &list) | |
| Copy construct contents from list. | |
| List (List< wordRe > &list, bool reuse) | |
| Construct as copy or re-use as specified. | |
| List (const UList< wordRe > &list, const labelUList &indices) | |
| Copy construct subset of list. | |
| List (const UList< wordRe > &list, const FixedList< label, N > &indices) | |
| Copy construct subset of list. | |
| List (const FixedList< wordRe, N > &list) | |
| Construct as copy of FixedList<T, N>. | |
| List (const UPtrList< wordRe > &list) | |
| Construct as copy of UPtrList<T> content. | |
| List (const IndirectListBase< wordRe, Addr > &list) | |
| Construct as copy of IndirectList contents. | |
| List (std::initializer_list< wordRe > list) | |
| Construct from an initializer list. | |
| List (List< wordRe > &&list) noexcept | |
| Move construct from List. | |
| List (DynamicList< wordRe, SizeMin > &&list) | |
| Move construct from DynamicList. | |
| List (Istream &is) | |
| Construct from Istream. | |
| autoPtr< List< wordRe > > | 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 wordRe &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 wordRe &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< wordRe > &list) |
| Transfer the contents of the argument List into this list and annul the argument list. | |
| void | transfer (DynamicList< wordRe, SizeMin > &list) |
| Transfer the contents of the argument List into this list and annul the argument list. | |
| wordRe & | newElmt (const label i) |
| Return subscript-checked element of UList and resizing the list if required. | |
| wordRe & | emplace_back (Args &&... args) |
| Construct an element at the end of the list, return reference to the new list element. | |
| void | push_back (const wordRe &val) |
| Append an element at the end of the list. | |
| void | push_back (wordRe &&val) |
| Move append an element at the end of the list. | |
| void | push_back (const UList< wordRe > &list) |
| Append a List to the end of this list. | |
| void | push_back (const IndirectListBase< wordRe, Addr > &list) |
| Append IndirectList contents at the end of this list. | |
| label | push_uniq (const wordRe &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< wordRe > &list) |
| Assignment to UList operator. Takes linear time. | |
| void | operator= (const List< wordRe > &list) |
| Assignment operator. Takes linear time. | |
| void | operator= (const IndirectListBase< wordRe, Addr > &list) |
| Assignment from IndirectList. Takes linear time. | |
| void | operator= (const FixedList< wordRe, N > &list) |
| Copy assignment from FixedList. | |
| void | operator= (std::initializer_list< wordRe > list) |
| Assignment to an initializer list. | |
| void | operator= (const wordRe &val) |
| Assignment of all entries to the given value. | |
| void | operator= (Foam::zero) |
| Assignment of all entries to zero. | |
| void | operator= (List< wordRe > &&list) |
| Move assignment. Takes constant time. | |
| void | operator= (DynamicList< wordRe, SizeMin > &&list) |
| Move assignment. Takes constant time. | |
| Istream & | readList (Istream &is) |
| Read List from Istream, discarding contents of existing List. | |
| void | shallowCopy (const UList< wordRe > &)=delete |
| No shallowCopy permitted. | |
| bool | set (const label i, bool val=true) |
| A bitSet::set() method for a list of bool. | |
| void | append (const wordRe &val) |
| Append an element at the end of the list. | |
| void | append (wordRe &&val) |
| Move append an element at the end of the list. | |
| void | append (const UList< wordRe > &list) |
| Append a List to the end of this list. | |
| void | append (const IndirectListBase< wordRe, Addr > &list) |
| Append IndirectList contents at the end of this list. | |
| label | appendUniq (const wordRe &val) |
| Same as push_uniq(). | |
| void | setSize (label n) |
| Alias for resize(). | |
| void | setSize (label n, const wordRe &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< wordRe > | |
| UList (const UList< wordRe > &) noexcept=default | |
| Copy construct, shallow copy. | |
| UList (UList< wordRe > &&) noexcept=default | |
| Move construct, shallow copy. | |
| UList< wordRe > & | operator= (const UList< wordRe > &)=delete |
| No copy assignment (default: shallow copy). | |
| UList< wordRe > & | operator= (UList< wordRe > &&) noexcept=default |
| Move assignment, shallow copy. | |
| constexpr | UList () noexcept |
| Default construct, zero-sized and nullptr. | |
| UList (wordRe *__restrict__ ptr, const label len) noexcept | |
| Construct from components. | |
| UList (SubList< wordRe > &&) 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 wordRe & | fcValue (const label i) const |
| Return forward circular value (ie, next value in the list). | |
| wordRe & | fcValue (const label i) |
| Return forward circular value (ie, next value in the list). | |
| const wordRe & | rcValue (const label i) const |
| Return reverse circular value (ie, previous value in the list). | |
| wordRe & | rcValue (const label i) |
| Return reverse circular value (ie, previous value in the list). | |
| const wordRe * | cdata () const noexcept |
| Return pointer to the underlying array serving as data storage. | |
| wordRe * | 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,. | |
| wordRe & | front () |
| Access first element of the list, position [0]. | |
| const wordRe & | front () const |
| Access first element of the list. | |
| wordRe & | back () |
| Access last element of the list, position [size()-1]. | |
| const wordRe & | 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 wordRe &val) const |
| True if the value is contained in the list. | |
| bool | contains (const wordRe &val, label pos, label len=-1) const |
| Is the value contained in the list? | |
| label | find (const wordRe &val) const |
| Find index of the first occurrence of the value. | |
| label | find (const wordRe &val, label pos, label len=-1) const |
| Find index of the first occurrence of the value. | |
| label | rfind (const wordRe &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 (wordRe *__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< wordRe > &list) noexcept |
| Copy the pointer and size held by the given UList. | |
| void | deepCopy (const UList< wordRe > &list) |
| Copy elements of the given UList. Sizes must match! | |
| void | deepCopy (const IndirectListBase< wordRe, Addr > &list) |
| Copy elements of the given indirect list. Sizes must match! | |
| SubList< wordRe > | slice (const label pos, label len=-1) |
| Return SubList slice (non-const access) - no range checking. | |
| const SubList< wordRe > | slice (const label pos, label len=-1) const |
| Return SubList slice (const access) - no range checking. | |
| SubList< wordRe > | slice (const labelRange &range) |
| Return SubList slice (non-const access) - with range checking. | |
| const SubList< wordRe > | slice (const labelRange &range) const |
| Return SubList slice (const access) - with range checking. | |
| wordRe & | operator[] (const label i) |
| Return element of UList. | |
| const wordRe & | operator[] (const label i) const |
| Return element of constant UList. | |
| operator const Foam::List< wordRe > & () const | |
| Allow cast to a const List<T>&. | |
| void | operator= (const wordRe &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< wordRe > &list) noexcept |
| Swap content with another UList of the same type in constant time. | |
| bool | operator== (const UList< wordRe > &list) const |
| Equality operation on ULists of the same type. | |
| bool | operator!= (const UList< wordRe > &list) const |
| The opposite of the equality operation. Takes linear time. | |
| bool | operator< (const UList< wordRe > &list) const |
| Compare two ULists lexicographically. Takes linear time. | |
| bool | operator> (const UList< wordRe > &list) const |
| Compare two ULists lexicographically. Takes linear time. | |
| bool | operator<= (const UList< wordRe > &list) const |
| Return true if !(a > b). Takes linear time. | |
| bool | operator>= (const UList< wordRe > &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. | |
| wordRe & | first () |
| Access first element of the list, position [0]. | |
| const wordRe & | first () const |
| Access first element of the list. | |
| wordRe & | last () |
| Access last element of the list, position [size()-1]. | |
| const wordRe & | last () const |
| Access last element of the list, position [size()-1]. | |
| bool | found (const wordRe &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< wordRe > & () const | |
| Allow cast to a const List<T>&. | |
Static Public Member Functions | |
| static const wordRes & | null () noexcept |
| Return a null wordRes (reference to a nullObject). Behaves like a empty wordRes. | |
| static wordRes | uniq (const UList< wordRe > &input) |
| Return a wordRes with duplicate entries filtered out. | |
| static bool | match (const UList< wordRe > &selectors, const std::string &text, bool literal=false) |
| Test for a match of any selectors against the text. | |
| static wordRe::compOption | matched (const UList< wordRe > &selectors, const std::string &text) |
| Smart match across entire list, returning the best match type. | |
| template<class StringType> | |
| static labelList | matching (const wordRe &select, const UList< StringType > &input, const bool invert=false) |
| Determine the list indices for all matches. | |
| template<class StringType> | |
| static labelList | matching (const UList< wordRe > &selectors, const UList< StringType > &input, const bool invert=false) |
| Determine the list indices for all matches. | |
| Static Public Member Functions inherited from List< wordRe > | |
| static const List< wordRe > & | null () noexcept |
| Return a null List (reference to a nullObject). Behaves like an empty List. | |
| Static Public Member Functions inherited from UList< wordRe > | |
| static const UList< wordRe > & | 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. | |
Additional Inherited Members | |
| Public Types inherited from List< wordRe > | |
| typedef SubList< wordRe > | subList |
| Declare type of subList. | |
| Public Types inherited from UList< wordRe > | |
| typedef wordRe | value_type |
| The value type the list contains. | |
| typedef wordRe * | pointer |
| The pointer type for non-const access to value_type items. | |
| typedef const wordRe * | const_pointer |
| The pointer type for const access to value_type items. | |
| typedef wordRe & | reference |
| The type used for storing into value_type objects. | |
| typedef const wordRe & | const_reference |
| The type used for reading from constant value_type objects. | |
| typedef wordRe * | iterator |
| Random access iterator for traversing a UList. | |
| typedef const wordRe * | 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. | |
| Protected Member Functions inherited from UList< wordRe > | |
| 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 wordRe &val) |
| Assign all entries to the given value. | |
| void | fill_uniform (Foam::zero) |
| Assign all entries to zero. | |
|
default |
Destructor.
|
inlinestaticnoexcept |
Return a null wordRes (reference to a nullObject). Behaves like a empty wordRes.
Definition at line 80 of file wordRes.H.
References Foam::noexcept, and Foam::NullObjectRef().
Referenced by ensightMesh::options::cellZoneExclude(), ensightMesh::options::faceZoneExclude(), and Foam::stringListOps::findMatching().


|
static |
Return a wordRes with duplicate entries filtered out.
No distinction made between literals and regular expressions.
Definition at line 25 of file wordRes.C.
References UList< T >::find(), forAll, List< T >::resize(), and UList< T >::size().

|
inlinestatic |
Test for a match of any selectors against the text.
false if no selectors are specified true if text matches any of the selectors Definition at line 46 of file wordResI.H.
Referenced by cellTable::combine(), dictionaryContent::copyDict(), functionObjectList::execute(), namesList< solutionEntry >::findNames(), Foam::stringOps::match(), match(), matching(), wordRes::filter::operator()(), wordRes::matcher::operator()(), operator()(), multiRegion::read(), particle< Type >::writeProperty(), and particle< Type >::writeProperty().

|
inlinestatic |
Smart match across entire list, returning the best match type.
Stops on the first literal match, or continues to examine if a regex match occurs.
Definition at line 64 of file wordResI.H.
References wordRe::LITERAL, wordRe::REGEX, and wordRe::UNKNOWN.
Referenced by dictionaryContent::copyDict(), matched(), and wordRes::filter::operator()().

|
inlinestatic |
Determine the list indices for all matches.
| select | A single literal or pattern matcher |
| input | List of string inputs to match against |
| invert | Invert the matching logic |
References Foam::invert().
Referenced by removeEntry::execute(), matching(), argList::parse(), ParticleErosion< CloudType >::ParticleErosion(), externalCoupled::read(), triSurfaceLoader::select(), and triSurfaceLoader::select().


|
inlinestatic |
Determine the list indices for all matches.
| selectors | The list of matchers |
| input | List of string inputs to match against |
| invert | Invert the matching logic |
References Foam::invert().

| void uniq | ( | ) |
Filter out duplicate entries (inplace).
No distinction made between literals and regular expressions.
Definition at line 63 of file wordRes.C.
References UList< T >::find(), forAll, List< T >::resize(), and UList< T >::size().

|
inline |
Smart match as literal or regex, stopping on the first match.
| literal | Force literal match only. |
Definition at line 162 of file wordResI.H.
References match().

|
inline |
Smart match in the list of matchers, returning the match type.
It stops if there is a literal match, or continues to examine other regexs.
Definition at line 169 of file wordResI.H.
References matched().

|
inline |
Determine the list indices for all matches.
References Foam::invert().

|
inline |
Identical to match(), for use as a predicate.
Definition at line 188 of file wordResI.H.
References match().

|
inline |
Definition at line 97 of file wordResI.H.
References UList< T >::empty(), Foam::invert(), List< T >::resize(), and UList< T >::size().

|
inline |
Definition at line 129 of file wordResI.H.
References UList< T >::empty(), Foam::invert(), match(), List< T >::resize(), and UList< T >::size().

|
inline |
Definition at line 176 of file wordResI.H.
References Foam::invert(), and matching().
