std::pointer_traits<Ptr>::to_address

From cppreference.com
 
 
Dynamic memory management
Smart pointers
(C++11)
(C++11)
(C++11)
(until C++17)
(C++11)
(C++23)
Allocators
Memory resources
Uninitialized storage
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Garbage collection support
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
Miscellaneous
(C++20)
(C++11)
(C++11)
 
std::pointer_traits
Member functions
pointer_traits::to_address
(C++20)(optional)
 
Defined in header <memory>
static element_type* to_address(pointer p) noexcept;
(since C++20)
(optional member of program-defined specialization)

Constructs a raw pointer that references the same object as its pointer-like ("fancy pointer") argument.

This function, if defined, is the inverse of pointer_to, and exists as the customization point to be called by std::to_address.

Parameters

p - fancy pointer/pointer-like object

Return value

A raw pointer of the type element_type* that references the same memory location as the argument p.

See also

[static]
obtains a dereferenceable pointer to its argument
(public static member function)
obtains a raw pointer from a pointer-like type
(function template)