pointer_traits Yapısı
işaretçi Ptr
türüne sahip bir ayırıcıyı tanımlamak için türündeki allocator_traits
bir nesnenin ihtiyaç duyduğu bilgileri sağlar.
Sözdizimi
template <class Ptr>
struct pointer_traits;
Açıklamalar
Ptr, türün Ty *
ham işaretçisi veya aşağıdaki özelliklere sahip bir sınıf olabilir.
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
};
Üyeler
Tür tanımları
Veri Akışı Adı | Açıklama |
---|---|
typedef T2 difference_type |
Tür T2 , Ptr::difference_type bu tür varsa, aksi takdirde ptrdiff_t olur. Ham bir işaretçiyse Ptr , türü olur ptrdiff_t . |
typedef T1 element_type |
Tür T1 , Ptr::element_type bu tür varsa, aksi takdirde Ty olur. Ham bir işaretçiyse Ptr , türü olur Ty . |
typedef Ptr pointer |
Türü şeklindedir Ptr . |
Yapılar
Veri Akışı Adı | Açıklama |
---|---|
rebind |
Temel alınan işaretçi türünü belirtilen türe dönüştürmeye çalışır. |
Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
pointer_to | Rastgele bir başvurunun sınıfındaki Ptr bir nesnesine dönüştürülmesini sağlar. |
pointer_to
bu işlev varsa döndüren Ptr::pointer_to(obj)
statik yöntem. Aksi takdirde, rastgele bir başvurunun sınıfındaki Ptr
bir nesnesine dönüştürülmesi mümkün değildir. Ham bir işaretçiyse Ptr
, bu yöntem döndürür addressof(obj)
.
static pointer pointer_to(element_type& obj);