std:: partial_order
|
定义于头文件
<compare>
|
||
|
inline
namespace
/* 未指定 */
{
inline
constexpr
/* 未指定 */
partial_order
=
/* 未指定 */
;
|
(C++20 起) | |
|
调用签名
|
||
|
template
<
class
T,
class
U
>
requires
/* 见下文 */
|
||
使用三路比较法比较两个值,并生成类型为
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
)
)
(若该表达式在未声明
- 所有其他情况下,该表达式均为病式,在模板实例化的直接上下文中可能出现 替换失败 。
定制点对象
名称
std::partial_order
表示一个
定制点对象
,这是一个字面量
semiregular
类类型的常量
函数对象
。详情请参阅
定制点对象
。
示例
|
本节内容不完整
原因:缺少示例 |
参见
|
(C++20)
|
支持全部6种运算符、不可替换且允许不可比较值的三路比较结果类型
(类) |
|
(C++20)
|
执行三路比较并生成
std::strong_ordering
类型的结果
(定制点对象) |
|
(C++20)
|
执行三路比较并生成
std::weak_ordering
类型的结果
(定制点对象) |
|
(C++20)
|
执行三路比较并生成
std::partial_ordering
类型的结果,即使
operator
<=>
不可用
(定制点对象) |