Namespaces
Variants

std:: predicate

From cppreference.net
Definido en el encabezado <concepts>
template < class F, class ... Args >

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

boolean-testable < std:: invoke_result_t < F, Args... >> ;
(desde C++20)

El concepto std :: predicate < F, Args... > especifica que F es un predicado que acepta argumentos cuyos tipos y categorías de valor están codificados por Args... , es decir, puede ser invocado con estos argumentos para producir un resultado boolean-testable .

Tenga en cuenta que regular_invocable requiere que la invocación no modifique ni el objeto invocable ni los argumentos y sea equality-preserving .

Preservación de la igualdad

Las expresiones declaradas en las requires expressions de los conceptos de la biblioteca estándar deben ser equality-preserving (excepto cuando se indique lo contrario).

Referencias

  • Estándar C++23 (ISO/IEC 14882:2024):
  • 18.7.4 Concepto predicate [concept.predicate]
  • Estándar C++20 (ISO/IEC 14882:2020):
  • 18.7.4 Concepto predicate [concept.predicate]