Freigeben über


pointer_traits-Struktur

Stellt Informationen bereit, die von einem Objekt vom Typ allocator_traits benötigt werden, um einen Allocator mit Zeigertyp Ptrzu beschreiben.

Syntax

template <class Ptr>
    struct pointer_traits;

Hinweise

Ptr kann ein unformatierter Zeiger vom Typ Ty * oder eine Klasse mit den folgenden Eigenschaften sein.

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

Member

TypeDefs

Name Beschreibung
typedef T2 difference_type Der Typ T2 ist Ptr::difference_type, wenn dieser Typ vorhanden ist, andernfalls ist er ptrdiff_t. Wenn Ptr ein unformatierter Zeiger ist, ist der Typ ptrdiff_t.
typedef T1 element_type Der Typ T1 ist Ptr::element_type, wenn dieser Typ vorhanden ist, andernfalls ist er Ty. Wenn Ptr ein unformatierter Zeiger ist, ist der Typ Ty.
typedef Ptr pointer Der Typ ist Ptr.

Strukturen

Name Beschreibung
rebind Versucht, den zugrunde liegenden Zeigertyp in einen angegebenen Typ zu konvertieren.

Methoden

Name Beschreibung
pointer_to Konvertiert einen beliebigen Verweis auf ein Objekt der Klasse Ptr.

pointer_to

Statische Methode, die Ptr::pointer_to(obj) zurückgibt, wenn diese Funktion vorhanden ist. Andernfalls ist es nicht möglich einen beliebigen Verweis auf ein Objekt der Klasse Ptr zu konvertieren. Wenn Ptr ein unformatierter Zeiger ist, gibt diese Methode addressof(obj) zurück.

static pointer pointer_to(element_type& obj);