boolean-testable
|
template
<
class
B
>
concept __boolean_testable_impl = std:: convertible_to < B, bool > ; |
(1) |
(C++20以降)
( 説明専用* ) |
|
template
<
class
B
>
concept boolean
-
testable
=
|
(2) |
(C++20以降)
( 説明専用* ) |
説明専用コンセプト
boolean-testable
は、
bool
に変換可能で、論理演算子が通常の振る舞い(
短絡評価
を含む)を示す式の要件を定義します。これは、2つの異なる
boolean-testable
型に対しても同様に適用されます。
形式的には、説明専用コンセプト
__boolean_testable_impl
をモデル化するためには、その型はメンバー
operator
&&
および
operator
||
を定義してはならず、また
実引数依存の名前検索
によって可視となる非メンバーの有効な
operator
&&
および
operator
||
が存在してはならない。さらに、式
e
が
decltype((e))
が
B
となる場合、
boolean-testable
は
bool
(e)
==
!
bool
(
!
e)
が成り立つ場合にのみモデル化される。
等価性保存
標準ライブラリコンセプトの requires expressions で宣言される式は、 equality-preserving であることが要求されます(特に明記されている場合を除く)。
注記
boolean-testable
型の例には、
bool
、
std::true_type
、
std::
bitset
<
N
>
::
reference
、および
int
*
が含まれます。
参考文献
- C++23規格 (ISO/IEC 14882:2024):
-
- 18.5.2 ブーリアン試験可能性 [concept.booleantestable]
- C++20規格 (ISO/IEC 14882:2020):
-
- 18.5.2 ブーリアン試験可能性 [concept.booleantestable]