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

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 концептов стандартной библиотеки, должны сохранять равенство (если не указано иное).

close