pointer_traits-Struktur
Stellt Informationen bereit, die von einem Objekt vom Typ allocator_traits
benötigt werden, um einen Allocator mit Zeigertyp Ptr
zu 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);