home | help
std::shared...owner_equal(3)   C++ Standard Libary  std::shared...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

http://cppreference.com 	   2024.06.10	    std::shared...owner_equal(3)

home | help