std::predicate
Min standard notice:
Header: <concepts>
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.
# Declarations
template< class F, class... Args >
concept predicate =
std::regular_invocable<F, Args...> &&
boolean-testable<std::invoke_result_t<F, Args...>>;
(since C++20)