pointer_traits (Struct)
Proporciona la información que un objeto de tipo allocator_traits
necesita para describir un asignador con el tipo de puntero Ptr
.
Sintaxis
template <class Ptr>
struct pointer_traits;
Comentarios
Ptr puede ser un puntero sin formato de tipo Ty *
o una clase con las siguientes propiedades.
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
};
Miembros
Typedefs
Nombre | Descripción |
---|---|
typedef T2 difference_type |
El tipo T2 es Ptr::difference_type si ese tipo existe, de otro modo, ptrdiff_t . Si Ptr es un puntero sin formato, el tipo es ptrdiff_t . |
typedef T1 element_type |
El tipo T1 es Ptr::element_type si ese tipo existe, de otro modo, Ty . Si Ptr es un puntero sin formato, el tipo es Ty . |
typedef Ptr pointer |
El tipo es Ptr . |
Estructuras
Nombre | Descripción |
---|---|
rebind |
Intenta convertir el tipo de puntero subyacente en un tipo especificado. |
Métodos
Nombre | Descripción |
---|---|
pointer_to | Convierte una referencia arbitraria en un objeto de clase Ptr . |
pointer_to
El método estático que devuelve Ptr::pointer_to(obj)
, si esa función existe. De otro modo, no es posible convertir una referencia arbitraria en un objeto de clase Ptr
. Si Ptr
es un puntero sin formato, este método devuelve addressof(obj)
.
static pointer pointer_to(element_type& obj);