Struct pointer_traits
Fornisce informazioni necessarie per un oggetto di tipo allocator_traits
per descrivere un allocatore con tipo Ptr
puntatore .
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);