Пространства имён
Варианты
Действия

std::predicate

Материал из cppreference.com
< cpp‎ | concepts
 
 
 
Определено в заголовочном файле <concepts>
template < class F, class... Args >

concept predicate =
  std::regular_invocable<F, Args...> &&

  boolean-testable<std::invoke_result_t<F, Args...>>;
(начиная с C++20)

Концепт std::predicate<F, Args...> определяет, что F это предикат, который принимает аргументы, типы и категории значений которых закодированы Args..., то есть его можно вызвать с этими аргументами для получения результата boolean-testable.

Обратите внимание, что regular_invocable требует, чтобы вызов не модифицировал ни вызываемый объект, ни аргументы и сохранял равенство.

[править] Сохранение равенства

Выражения, объявленные в выражениях requires концептов стандартной библиотеки, должны сохранять равенство (если не указано иное).