scoped_allocator_adaptor 類別
表示配置器巢狀結構。
template<class Outer, class... Inner>
class scoped_allocator_adaptor;
備註
類別會封裝一或多個配置器巢狀結構。 每一個這樣的類別具有型別 outer_allocator_type, Outer之同義資料表的一個最外層的配置器,是 scoped_allocator_adaptor 物件的公用基底。 Outer 用來配置容器所使用的記憶體。 您可以藉由呼叫 outer_allocator取得這個配置器基底物件的參考。
巢狀的其餘部分具有型別 inner_allocator_type。 一個內部配置器會使用組態項目的記憶體在容器內。 您可以藉由呼叫 inner_allocator取得型別儲存物件的參考。 如果 Inner... 不是空的, inner_allocator_type 具有型別, scoped_allocator_adaptor<Inner...>,並 inner_allocator 指定 10% 成員物件。 否則, 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。
三個型別會示範將瀏覽定義:
型別 |
描述 |
---|---|
Outermost |
OUTERMOST(*this) 的型別。 |
Outermost_traits |
allocator_traits<Outermost> |
Outer_traits |
allocator_traits<Outer> |
建構函式
名稱 |
描述 |
---|---|
建構 scoped_allocator_adaptor 物件。 |
Typedef
名稱 |
描述 |
---|---|
const_pointer |
這個型別是與這個配置器 Outerconst_pointer 之同義資料表。 |
const_void_pointer |
這個型別是與這個配置器 Outerconst_void_pointer 之同義資料表。 |
difference_type |
這個型別是與這個配置器 Outerdifference_type 之同義資料表。 |
inner_allocator_type |
這個型別是巢狀 scoped_allocator_adaptor<Inner...>配置器類型的一個同義資料表。 |
outer_allocator_type |
這個型別是這個基底 Outer配置器類型的一個同義資料表。 |
pointer |
這個型別是 pointer 的一個同義資料表與此配置器 (Allocator) Outer。 |
propagate_on_container_copy_assignment |
這個型別適用的情況下,才會 Outer_traits::propagate_on_container_copy_assignment 適用或 inner_allocator_type::propagate_on_container_copy_assignment 適用。 |
propagate_on_container_move_assignment |
這個型別適用的情況下,才會 Outer_traits::propagate_on_container_move_assignment 適用或 inner_allocator_type::propagate_on_container_move_assignment 適用。 |
propagate_on_container_swap |
這個型別適用的情況下,才會 Outer_traits::propagate_on_container_swap 適用或 inner_allocator_type::propagate_on_container_swap 適用。 |
size_type |
這個型別是 size_type 的一個同義資料表與此配置器 (Allocator) Outer。 |
value_type |
這個型別是 value_type 的一個同義資料表與此配置器 (Allocator) Outer。 |
void_pointer |
這個型別是 void_pointer 的一個同義資料表與此配置器 (Allocator) Outer。 |
Structs
名稱 |
描述 |
---|---|
定義型別 Outer::rebind<Other>::other 做為 scoped_allocator_adaptor<Other, Inner...>之同義資料表。 |
方法
名稱 |
描述 |
---|---|
您可以使用 Outer 配置器,配置記憶體。 |
|
建構物件。 |
|
藉由使用外部配置器,則會解除配置物件。 |
|
終結指定的物件。 |
|
擷取型別 inner_allocator_type儲存物件的參考。 |
|
判斷可由外部配置器配置的物件最大數目。 |
|
擷取型別 outer_allocator_type儲存物件的參考。 |
|
scoped_allocator_adaptor::select_on_container_copy_construction 方法 |
呼叫以初始化的每一個儲存的配置器物件建立新的物件 scoped_allocator_adaptor 每一個對應的配置器的 select_on_container_copy_construction 。 |
需求
標題: <scoped_allocator>
命名空間: std