home | help
std::pointe...::pointer_to(3)  C++ Standard Libary std::pointe...::pointer_to(3)

NAME
     std::pointer_traits::pointer_to - std::pointer_traits::pointer_to

Synopsis
	Defined in header
	<memory>
	static pointer	       (since C++11)
	pointer_to(	   (1) (member of pointer_traits<Ptr>
	element_type& r );     specialization)
	static pointer							  (since
     C++11)
	pointer_to(							  (until
     C++20)
	element_type&  r )						   (mem-
     ber of
	noexcept;
     pointer_traits<T*>
			   (2)						    spe-
     cialization)
	static constexpr						  (since
     C++20)
	pointer 							   (mem-
     ber of
	pointer_to(
     pointer_traits<T*>
	element_type& r  )						    spe-
     cialization)
	noexcept;

	Constructs  a  dereferenceable	pointer  or  pointer-like object ("fancy
     pointer") to its
	argument.

	1)   The   version   of   this	 function   in	  the	 non-specialized
     std::pointer_traits template
	simply	calls  Ptr::pointer_to(r),  and if Ptr does not provide a static
     member
	function pointer_to, instantiation of this function  is  a  compile-time
     error.
	2)   The   version   of   this	 function   in	 the  specialization  of
     std::pointer_traits for
	pointer types returns std::addressof(r).

Parameters
	r - reference to an object of type element_type&, except if element_type
     is void, in
	    which case the type of r is unspecified

Return value
	A dereferenceable pointer to r, of the type pointer_traits<>::pointer.

Exceptions
	1) Unspecified (typically same as Ptr::pointer_to).

Notes
	The Boost.Intrusive library version of this function returns
	pointer(std::addressof(r)) if Ptr::pointer_to does not exist.

See also
	addressof		   obtains actual address of an object, even  if
     the &
	(C++11) 		   operator is overloaded
				   (function template)
	address 		   obtains the address of an object, even if op-
     erator& is
	(until C++20)		   overloaded
				   (public member function of std::allocator<T>)
	to_address		    obtains  a	raw pointer from a fancy pointer
     (inverse of
	[static] (C++20)(optional) pointer_to)
				   (public static member function)
	to_address		   obtains a raw  pointer  from  a  pointer-like
     type
	(C++20) 		   (function template)

http://cppreference.com 	   2024.06.10	   std::pointe...::pointer_to(3)

home | help