Partager via


pointer_traits, struct

Fournit des informations nécessaires par un objet de type allocator_traits pour décrire un allocateur avec un type Ptrde 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);