std::predicate(3) | C++ Standard Libary | std::predicate(3) |
NAME¶
std::predicate - std::predicate
Synopsis¶
Defined in header <concepts>
template< class F, class... Args >
concept predicate = (since C++20)
std::regular_invocable<F, Args...> &&
boolean-testable<std::invoke_result_t<F, Args...>>;
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).
2024.06.10 | http://cppreference.com |