Sdílet prostřednictvím


scoped_allocator_adaptor – třída

Představuje hnízdo allocators.

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

Poznámky

Šablony třídy zapouzdří hnízdo z jednoho nebo více allocators.Každá třída má vnější modulu přidělování typu outer_allocator_type, synonymum pro Outer, což je základ veřejné scoped_allocator_adaptor objektu.Outerslouží k přidělení paměti pro kontejner.Odkaz na tento objekt Alokátor základní lze získat voláním outer_allocator.

Zbytek přivítat je typu inner_allocator_type.Vnitřní přidělování lze přidělit paměť pro prvky v rámci kontejneru.Odkaz na uložený objekt tohoto typu lze získat voláním inner_allocator.Pokud Inner... není prázdný, inner_allocator_type typu scoped_allocator_adaptor<Inner...>, a inner_allocator je názvem členského objektu.Jinak inner_allocator_type typu scoped_allocator_adaptor<Outer>, a inner_allocator označí celý objekt.

Přivítat se chová, jako kdyby se libovolné hloubky, replikace jeho nejvnitřnější zapouzdřené přidělování podle potřeby.

Několik konceptů, které nejsou součástí rozhraní viditelné podpory při popisu chování této šablony třídy.Vnější přidělování zprostředkovává všechna volání konstrukci a zničit metody.Účinně je definován pomocí rekurzivní funkce OUTERMOST(X), kde OUTERMOST(X) je jedním z následujících způsobů.

  • If X.outer_allocator() is well formed, then OUTERMOST(X) is OUTERMOST(X.outer_allocator()).

  • Otherwise, OUTERMOST(X) is X.

Tři typy jsou definovány v zájmu budeme:

Typ

Popis

Outermost

Typ OUTERMOST(*this).

Outermost_traits

allocator_traits<Outermost>

Outer_traits

allocator_traits<Outer>

Konstruktory

Name

Popis

scoped_allocator_adaptor::scoped_allocator_adaptor – konstruktor

Sestavte objekt scoped_allocator_adaptor.

Typedefs

Name

Popis

const_pointer

Tento typ je synonymum pro const_pointer je spojeno s Alokátor Outer.

const_void_pointer

Tento typ je synonymum pro const_void_pointer je spojeno s Alokátor Outer.

difference_type

Tento typ je synonymum pro difference_type je spojeno s Alokátor Outer.

inner_allocator_type

Tento typ je synonymum pro typ vnořené adaptér scoped_allocator_adaptor<Inner...>.

outer_allocator_type

Tento typ je synonymum pro přidělování základní typ Outer.

pointer

Tento typ je synonymum pro pointer spojené pomocí přidělujícího modulu Outer.

propagate_on_container_copy_assignment

Typ obsahuje hodnotu true pouze v případě Outer_traits::propagate_on_container_copy_assignment platí a inner_allocator_type::propagate_on_container_copy_assignment platí.

propagate_on_container_move_assignment

Typ obsahuje hodnotu true pouze v případě Outer_traits::propagate_on_container_move_assignment platí a inner_allocator_type::propagate_on_container_move_assignment platí.

propagate_on_container_swap

Typ obsahuje hodnotu true pouze v případě Outer_traits::propagate_on_container_swap platí a inner_allocator_type::propagate_on_container_swap platí.

size_type

Tento typ je synonymum pro size_type spojené pomocí přidělujícího modulu Outer.

value_type

Tento typ je synonymum pro value_type spojené pomocí přidělujícího modulu Outer.

void_pointer

Tento typ je synonymum pro void_pointer spojené pomocí přidělujícího modulu Outer.

Struktury

Name

Popis

scoped_allocator_adaptor::rebind – struktura

Definuje typ Outer::rebind<Other>::other jako synonymum pro scoped_allocator_adaptor<Other, Inner...>.

Metody

Name

Popis

scoped_allocator_adaptor::allocate – metoda

Přidělí paměť pomocí Outer přidělování.

scoped_allocator_adaptor::construct – metoda

Vytvoří objekt.

scoped_allocator_adaptor::deallocate – metoda

Zruší přidělení objektů pomocí přidělujícího modulu vnější.

scoped_allocator_adaptor::destroy – metoda

Odstraní určený objekt.

scoped_allocator_adaptor::inner_allocator – metoda

Získá referenci na uložené objekt typu inner_allocator_type.

scoped_allocator_adaptor::max_size – metoda

Určuje maximální počet objektů, které lze rozdělit podle vnější přidělování.

scoped_allocator_adaptor::outer_allocator – metoda

Získá referenci na uložené objekt typu outer_allocator_type.

scoped_allocator_adaptor::select_on_container_copy_construction – metoda

Vytvoří nový scoped_allocator_adaptor k jednotlivým objektům uložené přidělování inicializována voláním objektu select_on_container_copy_construction pro každý odpovídající přidělování.

Požadavky

Záhlaví:<scoped_allocator>

Obor názvů: std

Viz také

Další zdroje

Standardní knihovna C++ – hlavičkové soubory