A list of unary predicates (tests) on scalars. Includes a number of standard comparison predicates (eg, "less", "greater", ...) More...
Public Types | |
enum | opType { EQUAL, NOT_EQUAL, LESS, LESS_EQ, GREATER, GREATER_EQ, ALWAYS, NEVER } |
Enumerations for some standard comparison predicates. More... | |
typedef std::function< bool(Foam::scalar)> | unary |
The unary function type for testing a scalar. More... | |
![]() | |
typedef SubList< std::function< bool(Foam::scalar)> > | subList |
Declare type of subList. More... | |
Public Member Functions | |
scalars (std::initializer_list< std::pair< word, scalar >> entries) | |
Construct from an initializer list of (opName opValue) tuples. More... | |
scalars (const UList< Tuple2< word, scalar >> &entries) | |
Copy construct from a list of (opName opValue) tuples. More... | |
scalars (Istream &is) | |
Construct from Istream, from list of (opName opValue) tuples. More... | |
~scalars ()=default | |
Destructor. More... | |
label | find (const scalar value, label pos=0) const |
Index of the first match for the value. More... | |
label | rfind (const scalar value, label pos=-1) const |
Index of the last match for the value. More... | |
bool | found (const scalar value, label pos=0) const |
True if the value matches any in the list. More... | |
bool | match (const scalar &value) const |
Match any condition in the list. More... | |
bool | matchAny (const scalar &value) const |
Match any condition in the list. More... | |
bool | matchAll (const scalar &value) const |
Match all conditions in the list. More... | |
labelList | matching (const scalar &value) const |
Extract list indices for all matches. More... | |
labelList | matching (const UList< scalar > &input, const bool invert=false) const |
Extract list indices for all matches. More... | |
bool | operator() (const scalar &value) const |
Identical to found(), match(), for use as a predicate. More... | |
![]() | |
constexpr | List () noexcept |
Default construct. More... | |
List (const label len) | |
Construct with given size. More... | |
List (const label len, const std::function< bool(Foam::scalar)> &val) | |
Construct with given size and value for all elements. More... | |
List (const label len, const Foam::zero) | |
Construct with given size initializing all elements to zero. More... | |
List (const Foam::one, const std::function< bool(Foam::scalar)> &val) | |
Construct with length=1, copying the value as the only content. More... | |
List (const Foam::one, std::function< bool(Foam::scalar)> &&val) | |
Construct with length=1, moving the value as the only content. More... | |
List (const Foam::one, const Foam::zero) | |
Construct with length=1, initializing content to zero. More... | |
List (const List< std::function< bool(Foam::scalar)> > &a) | |
Copy construct from list. More... | |
List (const UList< std::function< bool(Foam::scalar)> > &a) | |
Copy construct contents from list. More... | |
List (List< std::function< bool(Foam::scalar)> > &a, bool reuse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< std::function< bool(Foam::scalar)> > &list, const labelUList &indices) | |
Copy construct subset of list. More... | |
List (const UList< std::function< bool(Foam::scalar)> > &list, const FixedList< label, N > &indices) | |
Copy construct subset of list. More... | |
List (const FixedList< std::function< bool(Foam::scalar)>, N > &list) | |
Construct as copy of FixedList<T, N> More... | |
List (const PtrList< std::function< bool(Foam::scalar)> > &list) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< std::function< bool(Foam::scalar)> > &list) | |
Construct as copy of SLList<T> More... | |
List (const IndirectListBase< std::function< bool(Foam::scalar)>, Addr > &list) | |
Construct as copy of IndirectList contents. More... | |
List (std::initializer_list< std::function< bool(Foam::scalar)> > list) | |
Construct from an initializer list. More... | |
List (List< std::function< bool(Foam::scalar)> > &&list) | |
Move construct from List. More... | |
List (DynamicList< std::function< bool(Foam::scalar)>, SizeMin > &&list) | |
Move construct from DynamicList. More... | |
List (SortableList< std::function< bool(Foam::scalar)> > &&list) | |
Move construct from SortableList. More... | |
List (SLList< std::function< bool(Foam::scalar)> > &&list) | |
Move construct from SLList. More... | |
List (Istream &is) | |
Construct from Istream. More... | |
autoPtr< List< std::function< bool(Foam::scalar)> > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | resize (const label len) |
Adjust allocated size of list. More... | |
void | resize (const label len, const std::function< bool(Foam::scalar)> &val) |
Adjust allocated size of list and set val for new elements. More... | |
void | resize (const label newLen) |
void | resize_nocopy (const label len) |
Adjust allocated size of list without necessarily. More... | |
void | setSize (const label n) |
Alias for resize() More... | |
void | setSize (const label n, const std::function< bool(Foam::scalar)> &val) |
Alias for resize() More... | |
void | append (const std::function< bool(Foam::scalar)> &val) |
Append an element at the end of the list. More... | |
void | append (std::function< bool(Foam::scalar)> &&val) |
Move append an element at the end of the list. More... | |
void | append (const UList< std::function< bool(Foam::scalar)> > &list) |
Append a List to the end of this list. More... | |
void | append (const IndirectListBase< std::function< bool(Foam::scalar)>, Addr > &list) |
Append IndirectList contents at the end of this list. More... | |
label | appendUniq (const std::function< bool(Foam::scalar)> &val) |
Append an element if not already in the list. More... | |
void | transfer (List< std::function< bool(Foam::scalar)> > &list) |
void | transfer (DynamicList< std::function< bool(Foam::scalar)>, SizeMin > &list) |
void | transfer (SortableList< std::function< bool(Foam::scalar)> > &list) |
std::function< bool(Foam::scalar)> & | newElmt (const label i) |
void | operator= (const UList< std::function< bool(Foam::scalar)> > &a) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< std::function< bool(Foam::scalar)> > &list) |
Assignment operator. Takes linear time. More... | |
void | operator= (const SLList< std::function< bool(Foam::scalar)> > &list) |
Assignment to SLList operator. Takes linear time. More... | |
void | operator= (const IndirectListBase< std::function< bool(Foam::scalar)>, Addr > &list) |
Assignment from IndirectList. Takes linear time. More... | |
void | operator= (const FixedList< std::function< bool(Foam::scalar)>, N > &list) |
Copy assignment from FixedList. More... | |
void | operator= (std::initializer_list< std::function< bool(Foam::scalar)> > list) |
Assignment to an initializer list. More... | |
void | operator= (const std::function< bool(Foam::scalar)> &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
void | operator= (List< std::function< bool(Foam::scalar)> > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (DynamicList< std::function< bool(Foam::scalar)>, SizeMin > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SortableList< std::function< bool(Foam::scalar)> > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SLList< std::function< bool(Foam::scalar)> > &&list) |
Move assignment. Takes constant time. More... | |
Istream & | readList (Istream &is) |
Read List from Istream, discarding contents of existing List. More... | |
Istream & | readList (Istream &is) |
Istream & | readList (Istream &is) |
void | shallowCopy (const UList< std::function< bool(Foam::scalar)> > &)=delete |
No shallowCopy permitted. More... | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | set (const label i, bool val=true) |
A bitSet::set() method for a list of bool. More... | |
Static Public Member Functions | |
static unary | equalOp (const scalar opVal, const scalar tol=VSMALL) |
Compare for equality, with specified tolerance (non-negative) More... | |
static unary | notEqualOp (const scalar opVal, const scalar tol=VSMALL) |
Compare for inequality, with specified tolerance (non-negative) More... | |
static unary | lessOp (const scalar opVal) |
Test if value is 'less' than prescribed. More... | |
static unary | lessEqOp (const scalar opVal) |
Test if value is 'less_equal' to prescribed. More... | |
static unary | greaterOp (const scalar opVal) |
static unary | greaterEqOp (const scalar opVal) |
Test if value is 'greater_equal' to prescribed. More... | |
static unary | trueOp () |
Predicate that always returns true. More... | |
static unary | falseOp () |
Predicate that always returns false. More... | |
static unary | andOp (const unary &test1, const unary &test2) |
Combine unary tests as an AND operation. More... | |
static unary | orOp (const unary &test1, const unary &test2) |
Combine unary tests as an OR operation. More... | |
static unary | operation (const opType op, const scalar opVal, const scalar tol=VSMALL) |
Standard comparison method by type. More... | |
static unary | operation (const word &opName, const scalar opVal, const scalar tol=VSMALL) |
Standard comparison method by name. More... | |
static unary | operation (const Tuple2< word, scalar > &op, const scalar tol=VSMALL) |
Standard comparison method by (name, value) More... | |
static unary | operation (const std::pair< word, scalar > &op, const scalar tol=VSMALL) |
Standard comparison method by (name, value) More... | |
![]() | |
static const List< std::function< bool(Foam::scalar)> > & | null () |
Return a null List. More... | |
Static Public Attributes | |
static const Enum< opType > | opNames |
Names for the opType enumeration. More... | |
A list of unary predicates (tests) on scalars. Includes a number of standard comparison predicates (eg, "less", "greater", ...)
Definition at line 66 of file scalarPredicates.H.
The unary function type for testing a scalar.
Definition at line 75 of file scalarPredicates.H.
enum opType |
Enumerations for some standard comparison predicates.
Enumerator | |
---|---|
EQUAL | "eq", "equal" |
NOT_EQUAL | "neq", "notEqual" |
LESS | "lt", "less" |
LESS_EQ | "le", "lessEq" |
GREATER | "gt", "greater" |
GREATER_EQ | "ge", "greaterEq" |
ALWAYS | Always matches. |
NEVER | Never matches. |
Definition at line 78 of file scalarPredicates.H.
Construct from an initializer list of (opName opValue) tuples.
Definition at line 182 of file scalarPredicates.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::hasBadEntries(), scalars::operation(), and Foam::printBadEntries().
Copy construct from a list of (opName opValue) tuples.
Definition at line 213 of file scalarPredicates.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::hasBadEntries(), scalars::operation(), and Foam::printBadEntries().
Construct from Istream, from list of (opName opValue) tuples.
Definition at line 243 of file scalarPredicates.C.
|
default |
Destructor.
Compare for equality, with specified tolerance (non-negative)
Definition at line 98 of file scalarPredicates.H.
References Foam::mag().
|
inlinestatic |
Compare for inequality, with specified tolerance (non-negative)
Definition at line 112 of file scalarPredicates.H.
References Foam::mag().
Test if value is 'less' than prescribed.
Definition at line 125 of file scalarPredicates.H.
Test if value is 'less_equal' to prescribed.
Definition at line 135 of file scalarPredicates.H.
Test if value is 'greater' than prescribed Compare scalar values for inequality
Definition at line 146 of file scalarPredicates.H.
|
inlinestatic |
Test if value is 'greater_equal' to prescribed.
Definition at line 156 of file scalarPredicates.H.
|
inlinestatic |
Predicate that always returns true.
Definition at line 168 of file scalarPredicates.H.
|
inlinestatic |
Predicate that always returns false.
Definition at line 174 of file scalarPredicates.H.
Combine unary tests as an AND operation.
Definition at line 183 of file scalarPredicates.H.
Referenced by parcelSelection::calculateFilter().
Combine unary tests as an OR operation.
Definition at line 192 of file scalarPredicates.H.
Referenced by parcelSelection::calculateFilter().
Standard comparison method by type.
Referenced by parcelSelection::calculateFilter(), Foam::operator>>(), and scalars::scalars().
|
inlinestatic |
Standard comparison method by name.
Definition at line 31 of file scalarPredicatesI.H.
|
inlinestatic |
Standard comparison method by (name, value)
Definition at line 42 of file scalarPredicatesI.H.
References Tuple2< T1, T2 >::first(), and Tuple2< T1, T2 >::second().
|
inlinestatic |
Standard comparison method by (name, value)
Definition at line 52 of file scalarPredicatesI.H.
Foam::label find | ( | const scalar | value, |
label | pos = 0 |
||
) | const |
Index of the first match for the value.
Any occurrences before the start pos are ignored. Linear search.
Definition at line 254 of file scalarPredicates.C.
References Foam::pos().
Foam::label rfind | ( | const scalar | value, |
label | pos = -1 |
||
) | const |
Index of the last match for the value.
Any occurrences after the end pos are ignored. Linear search.
Definition at line 281 of file scalarPredicates.C.
References Foam::pos().
|
inline |
True if the value matches any in the list.
Any occurrences before the start pos are ignored. Linear search.
Definition at line 64 of file scalarPredicatesI.H.
References Foam::ListOps::find(), and Foam::pos().
|
inline |
Match any condition in the list.
Definition at line 73 of file scalarPredicatesI.H.
References scalars::matchAny().
|
inline |
Match any condition in the list.
Definition at line 79 of file scalarPredicatesI.H.
Referenced by scalars::match().
|
inline |
Match all conditions in the list.
Definition at line 93 of file scalarPredicatesI.H.
|
inline |
Extract list indices for all matches.
Definition at line 108 of file scalarPredicatesI.H.
References Foam::BitOps::count(), and List< T >::resize().
|
inline |
Extract list indices for all matches.
input | A list of scalar inputs to test |
invert | invert the matching logic |
Definition at line 131 of file scalarPredicatesI.H.
References Foam::BitOps::count(), Foam::input(), Foam::invert(), Foam::stringOps::match(), and List< T >::resize().
|
inline |
Identical to found(), match(), for use as a predicate.
Definition at line 157 of file scalarPredicatesI.H.
References found.
|
static |
Names for the opType enumeration.
Definition at line 91 of file scalarPredicates.H.
Referenced by Foam::hasBadEntries(), and Foam::printBadEntries().