scoped_allocator_adaptor — klasa
Reprezentuje gniazdo selektory.
template<class Outer, class... Inner>
class scoped_allocator_adaptor;
Uwagi
Klasa szablon hermetyzuje gniazdo selektory jednego lub więcej.Każdej takiej klasy ma peryferyjnych alokatora typu outer_allocator_type, synonim Outer, który jest publiczny podstawy scoped_allocator_adaptor obiektu.Outerjest używana do alokowania pamięci do wykorzystania przez kontener.Odwołanie do obiektu podstawowego tego programu przydzielania można uzyskać, dzwoniąc outer_allocator.
Pozostałą część gniazdo ma typ inner_allocator_type.Wewnętrzne programu przydzielania jest używana do alokowania pamięci dla elementów w kontenerze.Odwołanie do obiektu przechowywana tego typu można uzyskać, dzwoniąc inner_allocator.Jeśli Inner... nie jest pusta, inner_allocator_type ma typ scoped_allocator_adaptor<Inner...>, i inner_allocator wyznacza obiekt członka.W przeciwnym razie inner_allocator_type ma typ scoped_allocator_adaptor<Outer>, i inner_allocator wyznacza cały obiekt.
Gniazdo zachowuje się tak, jakby ma dowolną głębokość, replikowanie jej najbardziej wewnętrznego alokatora zhermetyzowanego, stosownie do potrzeb.
Kilku pojęć, które nie są częścią widoczne interfejsu pomocy w opisie zachowanie tego szablonu klasy.Programu przydzielania peryferyjnych pośredniczy wszystkie wywołania przychodzące do konstrukcji i zniszczyć metody.Skutecznie jest zdefiniowany przez funkcję cykliczne OUTERMOST(X), gdzie OUTERMOST(X) jest jedną z następujących czynności.
If X.outer_allocator() is well formed, then OUTERMOST(X) is OUTERMOST(X.outer_allocator()).
Otherwise, OUTERMOST(X) is X.
Trzy typy są zdefiniowane dla specyfikacji:
Typ |
Opis |
---|---|
Outermost |
Typ OUTERMOST(*this). |
Outermost_traits |
allocator_traits<Outermost> |
Outer_traits |
allocator_traits<Outer> |
Konstruktorów
Nazwa |
Opis |
---|---|
scoped_allocator_adaptor::scoped_allocator_adaptor — konstruktor |
Buduje scoped_allocator_adaptor obiektu. |
Typedefs
Nazwa |
Opis |
---|---|
const_pointer |
Ten typ jest synonimem const_pointer skojarzonego z programu przydzielania Outer. |
const_void_pointer |
Ten typ jest synonimem const_void_pointer skojarzonego z programu przydzielania Outer. |
difference_type |
Ten typ jest synonimem difference_type skojarzonego z programu przydzielania Outer. |
inner_allocator_type |
Ten typ jest synonimem typu zagnieżdżonego Adapter scoped_allocator_adaptor<Inner...>. |
outer_allocator_type |
Ten typ jest synonimem typu podstawowego programu przydzielania Outer. |
pointer |
Ten typ jest synonimem pointer skojarzony program przydzielania Outer. |
propagate_on_container_copy_assignment |
Typ posiada wartość true tylko wtedy, gdy Outer_traits::propagate_on_container_copy_assignment prawdziwe lub inner_allocator_type::propagate_on_container_copy_assignment pozostaje prawdziwe. |
propagate_on_container_move_assignment |
Typ posiada wartość true tylko wtedy, gdy Outer_traits::propagate_on_container_move_assignment prawdziwe lub inner_allocator_type::propagate_on_container_move_assignment pozostaje prawdziwe. |
propagate_on_container_swap |
Typ posiada wartość true tylko wtedy, gdy Outer_traits::propagate_on_container_swap prawdziwe lub inner_allocator_type::propagate_on_container_swap pozostaje prawdziwe. |
size_type |
Ten typ jest synonimem size_type skojarzony program przydzielania Outer. |
value_type |
Ten typ jest synonimem value_type skojarzony program przydzielania Outer. |
void_pointer |
Ten typ jest synonimem void_pointer skojarzony program przydzielania Outer. |
Strukturach
Nazwa |
Opis |
---|---|
Definiuje typ Outer::rebind<Other>::other jako synonim scoped_allocator_adaptor<Other, Inner...>. |
Metody
Nazwa |
Opis |
---|---|
Przydziela pamięć za pomocą Outer programu przydzielania. |
|
Konstrukcje obiektu. |
|
Zwalnia obiektów za pomocą zewnętrznej przydzielania. |
|
Niszczy określonego obiektu. |
|
Pobiera odwołanie do obiektu przechowywana typu inner_allocator_type. |
|
Określa maksymalną liczbę obiektów, które mogą być przydzielone przez zewnętrzny program przydzielania. |
|
Pobiera odwołanie do obiektu przechowywana typu outer_allocator_type. |
|
scoped_allocator_adaptor::select_on_container_copy_construction — metoda |
Tworzy nowy scoped_allocator_adaptor obiekt z każdego obiektu przechowywana alokatora inicjowany przez wywołanie select_on_container_copy_construction dla każdego odpowiedniego programu przydzielania. |
Wymagania
Nagłówek:<scoped_allocator>
Przestrzeń nazw: std