operator==,!=,<,<=,>,>=(std::unique_ptr) (3) - Linux Manuals
operator==,!=,<,<=,>,>=(std::unique_ptr): operator==,!=,<,<=,>,>=(std::unique_ptr)
NAME
operator==,!=,<,<=,>,>=(std::unique_ptr) - operator==,!=,<,<=,>,>=(std::unique_ptr)
Synopsis
template<class T1, class D1, class T2, class D2> (1) (since C++11)
bool operator==(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
template<class T1, class D1, class T2, class D2> (2) (since C++11)
bool operator!=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
template<class T1, class D1, class T2, class D2> (3) (since C++11)
bool operator<(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
template<class T1, class D1, class T2, class D2> (4) (since C++11)
bool operator<=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
template<class T1, class D1, class T2, class D2> (5) (since C++11)
bool operator>(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
template<class T1, class D1, class T2, class D2> (6) (since C++11)
bool operator>=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
template <class T, class D> (7) (since C++11)
bool operator==(const unique_ptr<T, D>& x, nullptr_t) noexcept;
template <class T, class D> (8) (since C++11)
bool operator==(nullptr_t, const unique_ptr<T, D>& x) noexcept;
template <class T, class D> (9) (since C++11)
bool operator!=(const unique_ptr<T, D>& x, nullptr_t) noexcept;
template <class T, class D> (10) (since C++11)
bool operator!=(nullptr_t, const unique_ptr<T, D>& x) noexcept;
template <class T, class D> (11) (since C++11)
bool operator<(const unique_ptr<T, D>& x, nullptr_t);
template <class T, class D> (12) (since C++11)
bool operator<(nullptr_t, const unique_ptr<T, D>& y);
template <class T, class D> (13) (since C++11)
bool operator<=(const unique_ptr<T, D>& x, nullptr_t);
template <class T, class D> (14) (since C++11)
bool operator<=(nullptr_t, const unique_ptr<T, D>& y);
template <class T, class D> (15) (since C++11)
bool operator>(const unique_ptr<T, D>& x, nullptr_t);
template <class T, class D> (16) (since C++11)
bool operator>(nullptr_t, const unique_ptr<T, D>& y);
template <class T, class D> (17) (since C++11)
bool operator>=(const unique_ptr<T, D>& x, nullptr_t);
template <class T, class D> (18) (since C++11)
bool operator>=(nullptr_t, const unique_ptr<T, D>& y);
Compares the pointer values of two unique_ptrs, or a unique_ptr and nullptr.
1-6) Compares two unique_ptrs
7-18) Compares a unique_ptr and nullptr.
Parameters
x, y - unique_ptrs to compare
Return value
1) x.get() == y.get()
2) x.get() != y.get()
3) std::less<CT>()(x.get(), y.get()), where CT is std::common_type<unique_ptr<T1, D1>::pointer, unique_ptr<T2, D2>::pointer>::type
4) !(y < x)
5) y < x
6) !(x < y)
7-8) !x
9-10) (bool)x
11) std::less<unique_ptr<T,D>::pointer>()(x.get(), nullptr)
12) std::less<unique_ptr<T,D>::pointer>()(nullptr, y.get())
13) !(nullptr < x)
14) !(y < nullptr)
15) nullptr < x
16) y < nullptr
17) !(x < nullptr)
18) !(nullptr < y)
Example
// Run this code
Output:
See also
get (public member function)