std:: equal_to, not_equal_to, less, greater, less_equal, greater_equal (std::experimental::propagate_const)
|
template
<
class
T
>
struct
equal_to
<
std::
experimental
::
propagate_const
<
T
>>
;
|
(库基础 TS v2) | |
|
template
<
class
T
>
struct
not_equal_to
<
std::
experimental
::
propagate_const
<
T
>>
;
|
(库基础 TS v2) | |
|
template
<
class
T
>
struct
less
<
std::
experimental
::
propagate_const
<
T
>>
;
|
(库基础 TS v2) | |
|
template
<
class
T
>
struct
greater
<
std::
experimental
::
propagate_const
<
T
>>
;
|
(库基础 TS v2) | |
|
template
<
class
T
>
struct
less_equal
<
std::
experimental
::
propagate_const
<
T
>>
;
|
(库基础 TS v2) | |
|
template
<
class
T
>
struct
greater_equal
<
std::
experimental
::
propagate_const
<
T
>>
;
|
(库基础 TS v2) | |
标准比较函数对象已针对 std:: experimental :: propagate_const < T > 进行了部分特化。
令
p.
t_
表示由
std::
experimental
::
propagate_const
<
T
>
p
包装的类指针对象,则对于类型为
std::
experimental
::
propagate_const
<
T
>
的对象
p
和
q
,以下条件应始终成立:
- std:: equal_to < std:: experimental :: propagate_const < T >> ( ) ( p, q ) == std:: equal_to < T > ( ) ( p. t_ , q. t_ )
- std:: not_equal_to < std:: experimental :: propagate_const < T >> ( ) ( p, q ) == std:: not_equal_to < T > ( ) ( p. t_ , q. t_ )
- std:: less < std:: experimental :: propagate_const < T >> ( ) ( p, q ) == std:: less < T > ( ) ( p. t_ , q. t_ )
- std:: greater < std:: experimental :: propagate_const < T >> ( ) ( p, q ) == std:: greater < T > ( ) ( p. t_ , q. t_ )
- std:: less_equal < std:: experimental :: propagate_const < T >> ( ) ( p, q ) == std:: less_equal < T > ( ) ( p. t_ , q. t_ )
- std:: greater_equal < std:: experimental :: propagate_const < T >> ( ) ( p, q ) == std:: greater_equal < T > ( ) ( p. t_ , q. t_ )
注释
这些特化确保当
T
为指针类型时,
std::
experimental
::
propagate_const
<
T
>
的这些类模板特化能够产生全序关系,即使对应的内置运算符不具备此特性。
示例
|
本节内容不完整
原因:缺少示例 |
参见
|
实现
x
==
y
的函数对象
(类模板) |
|
|
实现
x
!
=
y
的函数对象
(类模板) |
|
|
实现
x
<
y
的函数对象
(类模板) |
|
|
实现
x
>
y
的函数对象
(类模板) |
|
|
实现
x
<=
y
的函数对象
(类模板) |
|
|
实现
x
>=
y
的函数对象
(类模板) |