# std::equal_to, not_equal_to, less, greater, less_equal, greater_equal(std::experimental::propagate_const)

< 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> 的特化产出全序，即使对应的内建运算符不如此。

### 示例

| 本节未完成 原因：暂无示例

### 参阅

equal_to | 实现 x == y 的函数对象 (类模板)
not_equal_to | 实现 x != y 的函数对象 (类模板)
less | 实现 x < y 的函数对象 (类模板)
greater | 实现 x > y 的函数对象 (类模板)
less_equal | 实现 x <= y 的函数对象 (类模板)
greater_equal | 实现 x >= y 的函数对象 (类模板)