次の方法で共有


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 基になるポインター型を指定された型に変換しようとします。

メソッド

Name 説明
pointer_to 任意の参照をクラス Ptr のオブジェクトに変換します。

pointer_to

その関数が存在する場合に Ptr::pointer_to(obj) を返す静的メソッド。 それ以外の場合は、任意の参照をクラス Ptr のオブジェクトに変換できません。 Ptr が生のポインターの場合、このメソッドは addressof(obj) を返します。

static pointer pointer_to(element_type& obj);