Namespaces
Variants

std:: predicate

From cppreference.net
Definiert im Header <concepts>
template < class F, class ... Args >

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

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

Das Konzept std :: predicate < F, Args... > spezifiziert, dass F ein Prädikat ist, das Argumente akzeptiert, deren Typen und Wertkategorien durch Args... kodiert sind, d.h. es kann mit diesen Argumenten aufgerufen werden, um ein boolean-testable Ergebnis zu erzeugen.

Beachten Sie, dass regular_invocable erfordert, dass der Aufruf weder das aufrufbare Objekt noch die Argumente verändert und gleichheitserhaltend ist.

Gleichheitserhaltung

Ausdrücke, die in requires expressions der Standardbibliothek-Konzepte deklariert werden, müssen equality-preserving sein (sofern nicht anders angegeben).

Referenzen

  • C++23-Standard (ISO/IEC 14882:2024):
  • 18.7.4 Konzept predicate [concept.predicate]
  • C++20-Standard (ISO/IEC 14882:2020):
  • 18.7.4 Konzept predicate [concept.predicate]