Namensräume
Varianten
Aktionen

std::predicate

Von cppreference.com
< cpp‎ | concepts
 
 
 
Definiert in der Header-Datei <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 produzieren.

Beachten Sie, dass regular_invocable erfordert, dass der Aufruf das aufrufbare Objekt oder die Argumente nicht modifiziert und gleichheitserhaltend ist.

[bearbeiten] Gleichheitserhaltung

Ausdrücke, die in requires-Ausdrücken der Standardbibliothekskonzepte deklariert sind, müssen gleichheitserhaltend sein (sofern nicht anders angegeben).

[bearbeiten] 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]