pointer_traits 結構
提供 型 allocator_traits
別物件需要的資訊,以描述具有指標類型的 Ptr
配置器。
語法
template <class Ptr>
struct pointer_traits;
備註
Ptr 可以是類型 Ty *
的原始指標,或是具有下列屬性的類別。
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
};
成員
Typedefs
名稱 | 描述 |
---|---|
typedef T2 difference_type |
類型 T2 為 Ptr::difference_type (如果該類型存在),否則為 ptrdiff_t 。 如果 Ptr 為原始指標,則類型為 ptrdiff_t 。 |
typedef T1 element_type |
類型 T1 為 Ptr::element_type (如果該類型存在),否則為 Ty 。 如果 Ptr 為原始指標,則類型為 Ty 。 |
typedef Ptr pointer |
類型為 Ptr 。 |
結構
名稱 | 描述 |
---|---|
rebind |
嘗試將基礎指標類型轉換為指定類型。 |
方法
名稱 | 描述 |
---|---|
pointer_to | 將任意的參考轉換為 Ptr 類別的物件。 |
pointer_to
傳回 Ptr::pointer_to(obj)
的靜態方法 (如果該函式存在)。 否則,不可能將任意參考轉換為 Ptr
類別的物件。 如果 Ptr
是原始指標,此方法會傳回 addressof(obj)
。
static pointer pointer_to(element_type& obj);