Defined in header <memory> | ||
---|---|---|
static pointer pointer_to( element_type& r ); | (1) | (since C++11) (member of pointer_traits<Ptr> specialization) |
(2) | ||
static pointer pointer_to( element_type& r ) noexcept; | (since C++11) (until C++20) (member of pointer_traits<T*> specialization) | |
static constexpr pointer pointer_to( element_type& r ) noexcept; | (since C++20) (member of pointer_traits<T*> specialization) |
Constructs a dereferenceable pointer or pointer-like object ("fancy pointer") to its argument.
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.std::pointer_traits
for pointer types returns std::addressof(r)
.r | - | reference to an object of type element_type& , except if element_type is void , in which case the type of r is unspecified |
A dereferenceable pointer to r
, of the type pointer_traits<>::pointer
.
Ptr::pointer_to
).The Boost.Intrusive library version of this function returns pointer(std::addressof(r))
if Ptr::pointer_to
does not exist.
(C++11) | obtains actual address of an object, even if the & operator is overloaded (function template) |
(until C++20) | obtains the address of an object, even if operator& is overloaded (public member function of std::allocator<T> ) |
[static] (C++20)(optional) | obtains a raw pointer from a fancy pointer (inverse of pointer_to ) (public static member function) |
(C++20) | obtains a raw pointer from a pointer-like type (function template) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/pointer_traits/pointer_to