Namespaces
Variants

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

From cppreference.net
(注:このHTML要素には翻訳対象のテキストコンテンツが含まれていないため、元の構造をそのまま保持しています)
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)

2つの propagate_const のラップされたポインタを比較するか、 propagate_const nullptr の間で比較するか、 propagate_const と他のオブジェクトの間で比較します。

1-4) propagate_const nullptr の等値比較。
5,6) 2つの propagate_const の等値比較。
7-10) 2つの 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_