scoped_allocator_adaptor クラス
アロケーターの入れ子を表します。
template<class Outer, class... Inner>
class scoped_allocator_adaptor;
解説
このテンプレート クラスは、一つ以上のアロケーターの入れ子をカプセル化します。そのような各クラスに型 outer_allocator_typeの scoped_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> |
コンストラクター
名前 |
説明 |
---|---|
scoped_allocator_adaptor オブジェクトを構築します。 |
Typedef
名前 |
説明 |
---|---|
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 のシノニムです。 |
構造体
名前 |
説明 |
---|---|
scoped_allocator_adaptor<Other, Inner...>のシノニムと Outer::rebind<Other>::other 型を定義します。 |
メソッド
名前 |
説明 |
---|---|
Outer のアロケーターを使用してメモリを割り当てます。 |
|
オブジェクトを構築します。 |
|
外側のアロケーターを使用してオブジェクトを解放します。 |
|
指定したオブジェクトを破棄します。 |
|
型 inner_allocator_typeに格納されたオブジェクトへの参照を取得します。 |
|
外側のアロケーターで割り当てることができるオブジェクトの最大数を指定します。 |
|
型 outer_allocator_typeに格納されたオブジェクトへの参照を取得します。 |
|
scoped_allocator_adaptor::select_on_container_copy_construction メソッド |
対応するアロケーターの select_on_container_copy_construction を呼び出すことによって初期化された、保存されたアロケーターのオブジェクトを使用して scoped_allocator_adaptor に新しいオブジェクトを作成します。 |
必要条件
ヘッダー: <scoped_allocator>
名前空間: std