std:: predicate
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||
|
定義先ヘッダ
<concepts>
|
||
|
template
<
class
F,
class
...
Args
>
concept predicate
=
|
(C++20以降) | |
コンセプト
std
::
predicate
<
F, Args...
>
は、
F
が
Args...
によってエンコードされた型と値カテゴリを持つ引数を受け入れる述語であることを指定します。つまり、これらの引数で呼び出して
boolean-testable
な結果を生成できます。
regular_invocable
は、呼び出し可能オブジェクトおよび引数のいずれも変更せず、かつ
equality-preserving
であることを要求することに注意してください。
等価性保存
標準ライブラリコンセプトの requires expressions で宣言される式は、 equality-preserving であることが要求されます(特に明記されている場合を除く)。
参考文献
- C++23規格 (ISO/IEC 14882:2024):
-
-
18.7.4 コンセプト
predicate[concept.predicate]
-
18.7.4 コンセプト
- C++20標準 (ISO/IEC 14882:2020):
-
-
18.7.4 コンセプト
predicate[concept.predicate]
-
18.7.4 コンセプト