pointer_traits, struct
Fournit des informations nécessaires par un objet de type allocator_traits
pour décrire un allocateur avec un type Ptr
de pointeur.
Syntaxe
template <class Ptr>
struct pointer_traits;
Notes
Le pointeur Ptr peut être un pointeur brut du type Ty *
ou une classe ayant les propriétés suivantes.
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
};
Membres
Typedefs
Nom | Description |
---|---|
typedef T2 difference_type |
Le type T2 est Ptr::difference_type si ce type existe. Sinon, le type est ptrdiff_t . Si Ptr est un pointeur brut, le type est ptrdiff_t . |
typedef T1 element_type |
Le type T1 est Ptr::element_type si ce type existe. Sinon, le type est Ty . Si Ptr est un pointeur brut, le type est Ty . |
typedef Ptr pointer |
Le type est Ptr . |
Structures
Nom | Description |
---|---|
rebind |
Tente de convertir le type de pointeur sous-jacent en un type spécifié. |
Méthodes
Nom | Description |
---|---|
pointer_to | Convertit une référence arbitraire à un objet de la classe Ptr . |
pointer_to
Méthode statique qui retourne Ptr::pointer_to(obj)
, si cette fonction existe. Sinon, il n’est pas possible de convertir une référence arbitraire à un objet de la classe Ptr
. Si Ptr
est un pointeur brut, cette méthode retourne addressof(obj)
.
static pointer pointer_to(element_type& obj);