std::predicate - cppreference.com (original) (raw)
The concept std::predicate<F, Args...> specifies that F
is a predicate that accepts arguments whose types and value categories are encoded by Args...
, i.e., it can be invoked with these arguments to produce a boolean-testable result.
Note that regular_invocable requires the invocation to not modify either the callable object or the arguments and be equality-preserving.
[edit] Equality preservation
Expressions declared in requires expressions of the standard library concepts are required to be equality-preserving (except where stated otherwise).
[edit] References
C++23 standard (ISO/IEC 14882:2024):
18.7.4 Concept
predicate
[concept.predicate]C++20 standard (ISO/IEC 14882:2020):
18.7.4 Concept
predicate
[concept.predicate]