|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||
Defined in header <concepts> | ||
template<class F,class...Args> concept predicate= | (since C++20) | |
The conceptstd::predicate<F, Args...> specifies thatF is a predicate that accepts arguments whose types and value categories are encoded byArgs..., i.e., it can be invoked with these arguments to produce aboolean-testable result.
Note thatregular_invocable requires the invocation to not modify either the callable object or the arguments and beequality-preserving.
Expressions declared inrequires expressions of the standard library concepts are required to beequality-preserving (except where stated otherwise).
predicate [concept.predicate] predicate [concept.predicate]