std::equal_to、not_equal_to、less、greater、less_equal、greater_equal(std::experimental::propagate_const)
来自 cppreference.com
< cpp | experimental | propagate const
在头文件 <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 的函数对象 (类模板) |