Compartir a través de


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);