table of contents
std::shared_ptr::owner_equal(3) | C++ Standard Libary | std::shared_ptr::owner_equal(3) |
NAME¶
std::shared_ptr::owner_equal - std::shared_ptr::owner_equal
Synopsis¶
template< class Y >
bool owner_equal( const std::shared_ptr<Y>& other ) const
(1) (since C++26)
noexcept;
template< class Y > (2) (since C++26)
bool owner_equal( const std::weak_ptr<Y>& other ) const
noexcept;
Checks whether this shared_ptr and other share ownership or are both empty.
The
comparison is such that two smart pointers compare equivalent only if they
are both
empty or if they both own the same object, even if the values of the pointers
obtained by get() are different (e.g. because they point at different
subobjects
within the same object).
The member function owner_equal is an equivalence relation such that
!owner_before(other) && !other.owner_before(*this) is true if and
only if
owner_equal(other) is true.
This ordering is used to make shared and weak pointers usable as keys in
unordered
associative containers, typically through std::owner_equal.
Parameters¶
other - the std::shared_ptr or std::weak_ptr to be compared
Return value¶
true if *this and other share ownership or are both empty. Otherwise, returns false.
Notes¶
Feature-test macro Value Std Feature
Enabling the use of
__cpp_lib_smart_ptr_owner_equality 202306L (C++26) std::shared_ptr as keys in
unordered associative containers
Example¶
This section is incomplete
Reason: example
See also¶
owner_equal provides mixed-type owner-based equal comparisons of
shared and weak
(C++26) pointers
(class)
Category:¶
* Todo with reason
2024.06.10 | http://cppreference.com |