Partager via


pointer_traits, struct

Fournit les informations requises par un objet de classe de modèle allocator_traits pour décrire un allocateur avec un type pointeur Ptr.

template<class Ptr>
    struct pointer_traits;

Notes

Ptr peut être un pointeur brut de type Ty * ou une classe avec les propriétés suivantes.

template<class Ty, class... Rest>
    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
    };

Avertissement

Lorsque la norme C++ spécifie le membre rebind en tant que modèle d'alias, les outils Visual C++ implémentent rebind en tant que struct.

Typedef

Nom

Description

typedef T2 difference_type

Le type T2 est Ptr::difference_type si ce type existe ; sinon 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 Ty. Si Ptr est un pointeur brut, le type est Ty.

typedef Ptr pointer

Le type est Ptr.

Structures

Nom

Description

pointer_traits::rebind

Tente de convertir le type de pointeur sous-jacent en un type spécifié.

Méthodes

Nom

Description

pointer_traits::pointer_to, méthode

Convertit une référence arbitraire à un objet de la classe Ptr.

Configuration requise

En-tête: <mémoire>

Espace de noms : std

Voir aussi

Référence

<memory>

allocator_traits, classe