Namespaces
Variants
Views
Actions

std::pointer_traits::pointer_to

From cppreference.com
< cpp‎ | memory‎ | pointer traits
Revision as of 15:41, 2 November 2012 by P12bot (Talk | contribs)

Defined in header <memory>
static pointer pointer_traits<Ptr>::pointer_to(element_type& r );
(since C++11)
static pointer pointer_traits<T*>::pointer_to(element_type& r);
(since C++11)

Constructs a dereferenceable 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)

Contents

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)

2)
noexcept specification:  
noexcept
  

Notes

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

See also

Template:cpp/memory/dcl list addressofTemplate:cpp/memory/allocator/dcl list address