operator==,!=,<,<=,>,>=(std::experimental::observer_ptr)
< cpp | experimental | observer ptr
template<class W1, class W2> bool operator==(const observer_ptr<W1>& p1, const observer_ptr<W2>& p2); |
(1) | (库基础 TS v2) |
template<class W1, class W2> bool operator!=(const observer_ptr<W1>& p1, const observer_ptr<W2>& p2); |
(2) | (库基础 TS v2) |
template<class W> bool operator==(const observer_ptr<W>& p, std::nullptr_t) noexcept; |
(3) | (库基础 TS v2) |
template<class W> bool operator==(std::nullptr_t, const observer_ptr<W>& p) noexcept; |
(4) | (库基础 TS v2) |
template<class W> bool operator!=(const observer_ptr<W>& p, std::nullptr_t) noexcept; |
(5) | (库基础 TS v2) |
template<class W> bool operator!=(std::nullptr_t, const observer_ptr<W>& p) noexcept; |
(6) | (库基础 TS v2) |
template<class W1, class W2> bool operator<(const observer_ptr<W1>& p1, const observer_ptr<W2>& p2); |
(7) | (库基础 TS v2) |
template<class W1, class W2> bool operator>(const observer_ptr<W1>& p1, const observer_ptr<W2>& p2); |
(8) | (库基础 TS v2) |
template<class W1, class W2> bool operator<=(const observer_ptr<W1>& p1, const observer_ptr<W2>& p2); |
(9) | (库基础 TS v2) |
template<class W1, class W2> bool operator>=(const observer_ptr<W1>& p1, const observer_ptr<W2>& p2); |
(10) | (库基础 TS 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)