Namespaces
Variants

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

From cppreference.net
template < class W1, class W2 >
bool operator == ( const observer_ptr < W1 > & p1, const observer_ptr < W2 > & p2 ) ;
(1) (库基础技术规范 v2)
template < class W1, class W2 >
bool operator ! = ( const observer_ptr < W1 > & p1, const observer_ptr < W2 > & p2 ) ;
(2) (库基础技术规范 v2)
template < class W >
bool operator == ( const observer_ptr < W > & p, std:: nullptr_t ) noexcept ;
(3) (库基础技术规范 v2)
template < class W >
bool operator == ( std:: nullptr_t , const observer_ptr < W > & p ) noexcept ;
(4) (库基础技术规范 v2)
template < class W >
bool operator ! = ( const observer_ptr < W > & p, std:: nullptr_t ) noexcept ;
(5) (库基础技术规范 v2)
template < class W >
bool operator ! = ( std:: nullptr_t , const observer_ptr < W > & p ) noexcept ;
(6) (库基础技术规范 v2)
template < class W1, class W2 >
bool operator < ( const observer_ptr < W1 > & p1, const observer_ptr < W2 > & p2 ) ;
(7) (库基础技术规范 v2)
template < class W1, class W2 >
bool operator > ( const observer_ptr < W1 > & p1, const observer_ptr < W2 > & p2 ) ;
(8) (库基础技术规范 v2)
template < class W1, class W2 >
bool operator <= ( const observer_ptr < W1 > & p1, const observer_ptr < W2 > & p2 ) ;
(9) (库基础技术规范 v2)
template < class W1, class W2 >
bool operator >= ( const observer_ptr < W1 > & p1, const observer_ptr < W2 > & p2 ) ;
(10) (库基础技术规范 v2)

比较两个 observer_ptr 的指针值,或比较 observer_ptr nullptr

1,2) 两个 observer_ptr 的相等性比较。
3-6) observer_ptr nullptr 的相等性比较。
7-10) 两个 observer_ptr 的有序比较。

参数

p, p1, p2 - 待比较的 observer_ptr 对象

返回值

1) p1. get ( ) == p2. get ( )
2) ! ( p1 == p2 )
3,4) ! p
5,6) ( bool ) p
7) std:: less < W3 > ( ) ( p1. get ( ) , p2. get ( ) ) ,其中 W3 W1* W2* 的复合指针类型。
8) p2 < p1
9) ! ( p2 < p1 )
10) ! ( p1 < p2 )