std:: predicate
Defined in header
<concepts>
|
||
template
<
class
F,
class
...
Args
>
concept predicate
=
|
(since C++20) | |
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
.
Equality preservation
Expressions declared in requires expressions of the standard library concepts are required to be equality-preserving (except where stated otherwise).
References
- C++23 standard (ISO/IEC 14882:2024):
-
-
18.7.4 Concept
predicate
[concept.predicate]
-
18.7.4 Concept
- C++20 standard (ISO/IEC 14882:2020):
-
-
18.7.4 Concept
predicate
[concept.predicate]
-
18.7.4 Concept