Condividi tramite


Struct pointer_traits

Fornisce informazioni necessarie per un oggetto di tipo allocator_traits per descrivere un allocatore con tipo Ptrpuntatore .

Sintassi

template <class Ptr>
    struct pointer_traits;

Osservazioni:

Ptr può essere un puntatore non elaborato di tipo Ty * o una classe con le proprietà seguenti.

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

Membri

Typedef

Nome Descrizione
typedef T2 difference_type Il tipo T2 è Ptr::difference_type se quel tipo esiste; in caso contrario ptrdiff_t. Se Ptr è un puntatore non elaborato, il tipo è ptrdiff_t.
typedef T1 element_type Il tipo T1 è Ptr::element_type se quel tipo esiste; in caso contrario Ty. Se Ptr è un puntatore non elaborato, il tipo è Ty.
typedef Ptr pointer Il tipo è Ptr.

Struct

Nome Descrizione
rebind Tenta di convertire il tipo di puntatore sottostante in un tipo specificato.

Metodi

Nome Descrizione
pointer_to Converte un riferimento arbitrario a un oggetto della classe Ptr.

pointer_to

Metodo statico che restituisce Ptr::pointer_to(obj), se tale funzione esiste. In caso contrario, non è possibile convertire un riferimento arbitrario a un oggetto della classe Ptr. Se Ptr è un puntatore non elaborato, il metodo restituisce addressof(obj).

static pointer pointer_to(element_type& obj);