home | help
std::owner_hash(3)	       C++ Standard Libary	      std::owner_hash(3)

NAME
     std::owner_hash - std::owner_hash

Synopsis
	Defined in header <memory>
	struct owner_hash;	    (since C++26)

	This  function	object	provides owner-based (as opposed to value-based)
     hashing of
	both std::weak_ptr and std::shared_ptr.

Member functions
	operator() calculates the hash of the shared-ownership pointer
		   (function)

     std::owner_hash::operator()

	template< class T >
	std::size_t operator()( const std::shared_ptr<T>& key )  const	     (1)
     (since C++26)
	noexcept;
	template< class T >
	std::size_t  operator()(  const std::weak_ptr<T>& key ) const	     (2)
     (since C++26)
	noexcept;

	Equivalent to return key.owner_hash();.

Parameters
	key - shared-ownership pointer to be hashed

Return value
	A hash value that is identical for any std::shared_ptr or  std::weak_ptr
     object
	sharing the same ownership.

Notes
		Feature-test macro	    Value    Std		Feature
							   Enabling the use of
	__cpp_lib_smart_ptr_owner_equality  202306L  (C++26) std::shared_ptr and
     std::weak_ptr
							   as keys in  unordered
     associative
							   containers

See also
	owner_hash provides owner-based hashing of shared pointers
	(C++26)    (public member function of std::shared_ptr<T>)
	owner_hash provides owner-based hashing of weak pointers
	(C++26)    (public member function of std::weak_ptr<T>)

http://cppreference.com 	   2024.06.10		      std::owner_hash(3)

home | help