pointer_traits Struct
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at pointer_traits Struct.
Supplies information that is needed by an object of template class allocator_traits to describe an allocator with pointer type Ptr.
template <class Ptr> struct pointer_traits;
Ptr can be a raw pointer of type Ty * or a class with the following properties.
struct Ptr
{ // describes a pointer type usable by allocators
typedef Ptr pointer;
typedef T1 element_type; // optional
typedef T2 difference_type; // optional
template <class Other>
using rebind = typename Ptr<Other, Rest...>; // optional
static pointer pointer_to(element_type& obj);
// optional
};
Typedefs
| Name | Description |
|---|---|
typedef T2 difference_type | The type T2 is Ptr::difference_type if that type exists, otherwise ptrdiff_t. If Ptr is a raw pointer, the type is ptrdiff_t. |
typedef T1 element_type | The type T1 is Ptr::element_type if that type exists, otherwise Ty. If Ptr is a raw pointer, the type is Ty. |
typedef Ptr pointer | The type is Ptr. |
Structs
| Name | Description |
|---|---|
pointer_traits::rebind | Attempts to convert the underlying pointer type to a specified type. |
Methods
| Name | Description |
|---|---|
| pointer_traits::pointer_to Method | Converts an arbitrary reference to an object of class Ptr. |
Header: <memory>
Namespace: std
Static method that returns Ptr::pointer_to(obj), if that function exists. Otherwise, it is not possible to convert an arbitrary reference to an object of class Ptr. If Ptr is a raw pointer, this method returns addressof(obj).
static pointer pointer_to(element_type& obj);
Show: