Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Supplies information that is needed by an object of type allocator_traits
to describe an allocator with pointer type Ptr
.
Syntax
template <class Ptr>
struct pointer_traits;
Remarks
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
};
Members
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 |
---|---|
rebind |
Attempts to convert the underlying pointer type to a specified type. |
Methods
Name | Description |
---|---|
pointer_to | Converts an arbitrary reference to an object of class Ptr . |
pointer_to
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);