Share via


scoped_allocator_adaptor クラス

アロケーターの入れ子を表します。

template<class Outer, class... Inner>
    class scoped_allocator_adaptor;

解説

このテンプレート クラスは、一つ以上のアロケーターの入れ子をカプセル化します。そのような各クラスに型 outer_allocator_typescoped_allocator_adaptor のオブジェクトのパブリック基本クラスである Outerのシノニムの最も外側のアロケーターがあります。Outer がコンテナーが使用するメモリを割り当てるために使用されます。outer_allocatorを呼び出して、このアロケーター ベースのオブジェクトへの参照を取得できます。

入れ子の残りの部分に型 inner_allocator_typeがあります。内部のアロケーターがコンテナー内の要素のメモリを割り当てるために使用されます。inner_allocatorを呼び出して、この型に格納されたオブジェクトへの参照を取得できます。Inner... が空でない場合、inner_allocator_type に型 scoped_allocator_adaptor<Inner...>があり、inner_allocator はメンバー オブジェクトを示します。それ以外 inner_allocator_type に型 scoped_allocator_adaptor<Outer>があり、inner_allocator は、オブジェクト全体を示します。

入れ子は任意の深さを持つようにし、最も内側カプセル化するアロケーターを必要に応じて複製します。

このテンプレート クラスの動作の説明に表示されるインターフェイスの補助の一部ではない複数の概念。最も外側のアロケーターは 体へのすべての呼び出しを仲介し、メソッドを破棄します。これは OUTERMOST(X) は、次のいずれかの再帰関数 OUTERMOST(X)によって効率的に定義されます。

  • X.outer_allocator() が正しく構成されている場合は、OUTERMOST(X) は OUTERMOST(X.outer_allocator())です。

  • それ以外の場合、OUTERMOST(X) は X になります。

3 種類が博覧 Workshop に対して定義されています:

説明

Outermost

OUTERMOST(*this) の型。

Outermost_traits

allocator_traits<Outermost>

Outer_traits

allocator_traits<Outer>

Hh972427.collapse_all(ja-jp,VS.110).gifコンストラクター

名前

説明

scoped_allocator_adaptor::scoped_allocator_adaptor コンストラクター

scoped_allocator_adaptor オブジェクトを構築します。

Hh972427.collapse_all(ja-jp,VS.110).gifTypedef

名前

説明

const_pointer

この型は、アロケーター Outerに関連付けられている const_pointer のシノニムです。

const_void_pointer

この型は、アロケーター Outerに関連付けられている const_void_pointer のシノニムです。

difference_type

この型は、アロケーター Outerに関連付けられている difference_type のシノニムです。

inner_allocator_type

この型は、入れ子になったアダプター scoped_allocator_adaptor<Inner...>の型のシノニムです。

outer_allocator_type

この型は、基本 Outerアロケーターの型のシノニムです。

pointer

この型は、アロケーター Outerに関連付けられている pointer のシノニムです。

propagate_on_container_copy_assignment

型は Outer_traits::propagate_on_container_copy_assignment が true か、inner_allocator_type::propagate_on_container_copy_assignment が当てはまれば場合にのみ true。

propagate_on_container_move_assignment

型は Outer_traits::propagate_on_container_move_assignment が true か、inner_allocator_type::propagate_on_container_move_assignment が当てはまれば場合にのみ true。

propagate_on_container_swap

型は Outer_traits::propagate_on_container_swap が true か、inner_allocator_type::propagate_on_container_swap が当てはまれば場合にのみ true。

size_type

この型は、アロケーター Outerに関連付けられている size_type のシノニムです。

value_type

この型は、アロケーター Outerに関連付けられている value_type のシノニムです。

void_pointer

この型は、アロケーター Outerに関連付けられている void_pointer のシノニムです。

Hh972427.collapse_all(ja-jp,VS.110).gif構造体

名前

説明

scoped_allocator_adaptor::rebind 構造体

scoped_allocator_adaptor<Other, Inner...>のシノニムと Outer::rebind<Other>::other 型を定義します。

Hh972427.collapse_all(ja-jp,VS.110).gifメソッド

名前

説明

scoped_allocator_adaptor::allocate メソッド

Outer のアロケーターを使用してメモリを割り当てます。

scoped_allocator_adaptor::construct Method

オブジェクトを構築します。

scoped_allocator_adaptor::deallocate メソッド

外側のアロケーターを使用してオブジェクトを解放します。

scoped_allocator_adaptor::destroy メソッド

指定したオブジェクトを破棄します。

scoped_allocator_adaptor::inner_allocator メソッド

inner_allocator_typeに格納されたオブジェクトへの参照を取得します。

scoped_allocator_adaptor::max_size メソッド

外側のアロケーターで割り当てることができるオブジェクトの最大数を指定します。

scoped_allocator_adaptor::outer_allocator メソッド

outer_allocator_typeに格納されたオブジェクトへの参照を取得します。

scoped_allocator_adaptor::select_on_container_copy_construction メソッド

対応するアロケーターの select_on_container_copy_construction を呼び出すことによって初期化された、保存されたアロケーターのオブジェクトを使用して scoped_allocator_adaptor に新しいオブジェクトを作成します。

必要条件

ヘッダー: <scoped_allocator>

名前空間: std

参照

その他の技術情報

ヘッダー ファイル