Condividi tramite


Classe scoped_allocator_adaptor

Rappresenta un annidamento di allocatori.

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

Note

La classe incapsula un modello annidamento di uno o più allocatori.Ciascuna classe dispone di un allocatore più esterno di tipo outer_allocator_type, un sinonimo Outer, una base pubblica dell'oggetto scoped_allocator_adaptor.Outer viene utilizzato per allocare memoria da utilizzare da un contenitore.È possibile ottenere un riferimento a questo oggetto di base di un allocatore chiamando outer_allocator.

Il resto di annidamento di tipo inner_allocator_type.Un allocatore interno viene utilizzato per allocare memoria per gli elementi di un contenitore.È possibile ottenere un riferimento all'oggetto archiviato di questo tipo chiamando inner_allocator.Se Inner... non è vuoto, inner_allocator_type è di tipo scoped_allocator_adaptor<Inner...>e inner_allocator definisce un oggetto membro.In caso contrario, inner_allocator_type è di tipo scoped_allocator_adaptor<Outer>e inner_allocator definisce l'intero oggetto.

L'annidamento si comporta come se la profondità arbitraria, ripiegando il relativo allocatore incapsulato più interna in base alle necessità.

Numerosi concetti che non fanno parte di aiuto visibile dell'interfaccia nella descrizione del comportamento di questa classe modello.Un allocatore più esterno media tutte le chiamate al costrutto ed elimina i metodi.Viene efficacemente definito dalla funzione ricorsiva OUTERMOST(X), dove OUTERMOST(X) è uno dei seguenti.

  • Se X.outer_allocator() è ben formato, quindi OUTERMOST(X) è OUTERMOST(X.outer_allocator()).

  • In caso contrario, OUTERMOST(X) sarà X.

Tre tipi definiti per l'esposizione:

Type

Descrizione

Outermost

Tipo di OUTERMOST(*this).

Outermost_traits

allocator_traits<Outermost>

Outer_traits

allocator_traits<Outer>

Hh972427.collapse_all(it-it,VS.110).gifCostruttori

Nome

Descrizione

Costruttore scoped_allocator_adaptor::scoped_allocator_adaptor

Costruisce un oggetto scoped_allocator_adaptor.

Hh972427.collapse_all(it-it,VS.110).gifDefinizioni typedef

Nome

Descrizione

const_pointer

Questo tipo è sinonimo const_pointer associato all'allocatore Outer.

const_void_pointer

Questo tipo è sinonimo const_void_pointer associato all'allocatore Outer.

difference_type

Questo tipo è sinonimo difference_type associato all'allocatore Outer.

inner_allocator_type

Questo tipo è sinonimo del tipo dell'adattatore annidato scoped_allocator_adaptor<Inner...>.

outer_allocator_type

Questo tipo è sinonimo del tipo di allocatore di base Outer.

pointer

Questo tipo è sinonimo pointer associato all'allocatore Outer.

propagate_on_container_copy_assignment

Il tipo poter contenere solo se Outer_traits::propagate_on_container_copy_assignment poter mantenute inner_allocator_type::propagate_on_container_copy_assignment o true.

propagate_on_container_move_assignment

Il tipo poter contenere solo se Outer_traits::propagate_on_container_move_assignment poter mantenute inner_allocator_type::propagate_on_container_move_assignment o true.

propagate_on_container_swap

Il tipo poter contenere solo se Outer_traits::propagate_on_container_swap poter mantenute inner_allocator_type::propagate_on_container_swap o true.

size_type

Questo tipo è sinonimo size_type associato all'allocatore Outer.

value_type

Questo tipo è sinonimo value_type associato all'allocatore Outer.

void_pointer

Questo tipo è sinonimo void_pointer associato all'allocatore Outer.

Hh972427.collapse_all(it-it,VS.110).gifStrutture

Nome

Descrizione

Struct scoped_allocator_adaptor::rebind

Definisce il tipo Outer::rebind<Other>::other come un sinonimo scoped_allocator_adaptor<Other, Inner...>.

Hh972427.collapse_all(it-it,VS.110).gifMetodi

Nome

Descrizione

Metodo scoped_allocator_adaptor::allocate

Alloca memoria utilizzando l'allocatore Outer.

Metodo scoped_allocator_adaptor::construct

Costruisce un oggetto.

Metodo scoped_allocator_adaptor::deallocate

Rilascia oggetti utilizzando l'allocatore esterno.

Metodo scoped_allocator_adaptor::destroy

Elimina un oggetto specificato.

Metodo scoped_allocator_adaptor::inner_allocator

Recupera un riferimento all'oggetto archiviato di tipo inner_allocator_type.

Metodo scoped_allocator_adaptor::max_size

Determina il numero massimo di oggetti che possono essere allocati da allocatore esterno.

Metodo scoped_allocator_adaptor::outer_allocator

Recupera un riferimento all'oggetto archiviato di tipo outer_allocator_type.

Metodo scoped_allocator_adaptor::select_on_container_copy_construction

Crea un nuovo oggetto scoped_allocator_adaptor con ogni oggetto archiviato di allocatore inizializzato chiamando select_on_container_copy_construction per ogni allocatore corrispondente.

Requisiti

intestazione: <scoped_allocator>

Spazio dei nomi: deviazione standard

Vedere anche

Altre risorse

File di intestazione