Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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  differ-
       ent 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.	Other-
       wise, returns false.

Notes
		  Feature-test macro	      Value    Std		  Fea-
       ture
							     Enabling the  use
       of
	  __cpp_lib_smart_ptr_owner_equality  202306L  (C++26) std::shared_ptr
       as keys in
							     unordered	 asso-
       ciative 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::shared_ptr::owner_equal&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help