operator==,!=,<,<=,>,>=(std::experimental::propagate_const)


template< class T >
constexpr bool operator==( const propagate_const<T>& pt, nullptr_t );
(1) (库基础 TS v2)
template< class T >
constexpr bool operator==( nullptr_t, const propagate_const<T>& pt );
(2) (库基础 TS v2)
template< class T >
constexpr bool operator!=( const propagate_const<T>& pt, nullptr_t );
(3) (库基础 TS v2)
template< class T >
constexpr bool operator!=( nullptr_t, const propagate_const<T>& pt );
(4) (库基础 TS v2)
template< class T, class U >
constexpr bool operator==( const propagate_const<T>& pt, const propagate_const<U>& pu );
(5) (库基础 TS v2)
template< class T, class U >
constexpr bool operator!=( const propagate_const<T>& pt, const propagate_const<U>& pu );
(6) (库基础 TS v2)
template< class T, class U >
constexpr bool operator<( const propagate_const<T>& pt, const propagate_const<U>& pu );
(7) (库基础 TS v2)
template< class T, class U >
constexpr bool operator>( const propagate_const<T>& pt, const propagate_const<U>& pu );
(8) (库基础 TS v2)
template< class T, class U >
constexpr bool operator<=( const propagate_const<T>& pt, const propagate_const<U>& pu );
(9) (库基础 TS v2)
template< class T, class U >
constexpr bool operator>=( const propagate_const<T>& pt, const propagate_const<U>& pu );
(10) (库基础 TS v2)
template< class T, class U >
constexpr bool operator==( const propagate_const<T>& pt, const U& u );
(11) (库基础 TS v2)
template< class T, class U >
constexpr bool operator!=( const propagate_const<T>& pt, const U& u );
(12) (库基础 TS v2)
template< class T, class U >
constexpr bool operator==( const T& t, const propagate_const<U>& pu );
(13) (库基础 TS v2)
template< class T, class U >
constexpr bool operator!=( const T& t, const propagate_const<U>& pu );
(14) (库基础 TS v2)
template< class T, class U >
constexpr bool operator<( const propagate_const<T>& pt, const U& u );
(15) (库基础 TS v2)
template< class T, class U >
constexpr bool operator>( const propagate_const<T>& pt, const U& u );
(16) (库基础 TS v2)
template< class T, class U >
constexpr bool operator<=( const propagate_const<T>& pt, const U& u );
(17) (库基础 TS v2)
template< class T, class U >
constexpr bool operator>=( const propagate_const<T>& pt, const U& u );
(18) (库基础 TS v2)
template< class T, class U >
constexpr bool operator<( const T& t, const propagate_const<U>& pu );
(19) (库基础 TS v2)
template< class T, class U >
constexpr bool operator>( const T& t, const propagate_const<U>& pu );
(20) (库基础 TS v2)
template< class T, class U >
constexpr bool operator<=( const T& t, const propagate_const<U>& pu );
(21) (库基础 TS v2)
template< class T, class U >
constexpr bool operator>=( const T& t, const propagate_const<U>& pu );
(22) (库基础 TS v2)

在两个 propagate_const 的被包装指针,或一个 propagate_constnullptr,或一个 propagate_const 和另一对象之间进行比较。

1-4) propagate_constnullptr 的相等性比较。
5-6) 两个 propagate_const 的相等性比较。
7-10) 两个 propagate_const 的顺序比较。
11-14) 一个 propagate_const 和另一对象的相等比较。
15-22) 一个 propagate_const 和另一对象的顺序比较。

参数

pt, pu - 要比较的 propagate_const
t, u - 要比较的另一对象

返回值

t_ 代表 propagate_const 所包装的底层指针式对象

1) pt.t_ == nullptr
2) nullptr == pt.t_
3) pt.t_ != nullptr
4) nullptr != pt.t_
5) pt.t_ == pu.t_
6) pt.t_ != pu.t_
7) pt.t_ < pu.t_
8) pt.t_ > pu.t_
9) pt.t_ <= pu.t_
10) pt.t_ >= pu.t_
11) pt.t_ == u
12) pt.t_ != u
13) t == pu.t_
14) t != pu.t_
15) pt.t_ < u
16) pt.t_ > u
17) pt.t_ <= u
18) pt.t_ >= u
19) t < pu.t_
20) t > pu.t_
21) t <= pu.t_
22) t >= pu.t_