Udostępnij za pośrednictwem


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

scoped_allocator_adaptor::rebind — struktura

Definiuje typ Outer::rebind<Other>::other jako synonim scoped_allocator_adaptor<Other, Inner...>.

Metody

Nazwa

Opis

scoped_allocator_adaptor::allocate — metoda

Przydziela pamięć za pomocą Outer programu przydzielania.

scoped_allocator_adaptor::construct — metoda

Konstrukcje obiektu.

scoped_allocator_adaptor::deallocate — metoda

Zwalnia obiektów za pomocą zewnętrznej przydzielania.

scoped_allocator_adaptor::destroy — metoda

Niszczy określonego obiektu.

scoped_allocator_adaptor::inner_allocator — metoda

Pobiera odwołanie do obiektu przechowywana typu inner_allocator_type.

scoped_allocator_adaptor::max_size — metoda

Określa maksymalną liczbę obiektów, które mogą być przydzielone przez zewnętrzny program przydzielania.

scoped_allocator_adaptor::outer_allocator — metoda

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

Zobacz też

Inne zasoby

Pliki nagłówkowe standardowej biblioteki języka C++