名稱空間
變體
操作

std::predicate

來自 cppreference.com
定義於標頭檔案 <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 表示式中宣告的表示式必須是保持等價性的(除非另有說明)。

[編輯] 參考資料

  • C++23 標準 (ISO/IEC 14882:2024)
  • 18.7.4 概念 predicate [concept.predicate]
  • C++20 標準 (ISO/IEC 14882:2020)
  • 18.7.4 概念 predicate [concept.predicate]