std:: partial_order
|
ヘッダーで定義
<compare>
|
||
|
inline
namespace
/* unspecified */
{
inline
constexpr
/* unspecified */
partial_order
=
/* unspecified */
;
|
(C++20以降) | |
|
呼び出しシグネチャ
|
||
|
template
<
class
T,
class
U
>
requires
/* see below */
|
||
3方向比較を使用して2つの値を比較し、型
std::partial_ordering
の結果を生成します。
t
および
u
を式とし、
T
および
U
がそれぞれ
decltype
(
(
t
)
)
および
decltype
(
(
u
)
)
を表すとするとき、
std
::
partial_order
(
t, u
)
は以下の式と
式等価
です:
-
std::
is_same_v
<
std::
decay_t
<
T
>
,
std::
decay_t
<
U
>>
が
true
の場合:
-
std::
partial_ordering
(
partial_order
(
t, u
)
)
(
std::partial_orderの宣言を含まない文脈でオーバーロード解決を実行した場合に有効な式である場合) - それ以外の場合、 std:: partial_ordering ( std:: compare_three_way ( ) ( t, u ) ) (有効な式である場合)
- それ以外の場合、 std:: partial_ordering ( std:: weak_order ( t, u ) ) (有効な式である場合)
-
std::
partial_ordering
(
partial_order
(
t, u
)
)
(
- その他のすべての場合、式は不適格(ill-formed)となり、 置換失敗 を引き起こす可能性があります(テンプレートのインスタンス化の直接の文脈に現れる場合)。
カスタマイゼーションポイントオブジェクト
名前
std::partial_order
は
カスタマイゼーションポイントオブジェクト
を表し、これは
関数オブジェクト
のconstな
リテラル
semiregular
クラス型である。詳細は
CustomizationPointObject
を参照のこと。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
(C++20)
|
すべての6つの演算子をサポートし、置換可能ではなく、比較不能な値を許容する3方向比較の結果型
(クラス) |
|
(C++20)
|
3方向比較を実行し、型
std::strong_ordering
の結果を生成する
(カスタマイゼーションポイントオブジェクト) |
|
(C++20)
|
3方向比較を実行し、型
std::weak_ordering
の結果を生成する
(カスタマイゼーションポイントオブジェクト) |
|
(C++20)
|
3方向比較を実行し、型
std::partial_ordering
の結果を生成する(
operator
<=>
が利用できない場合でも)
(カスタマイゼーションポイントオブジェクト) |