Partilhar via


Classe scoped_allocator_adaptor

Representa um dos distribuidores a aninhada.

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

Comentários

A classe encapsula um modelo da aninhada de um ou mais distribuidores.Cada tal classe tem um distribuidor mais externo de tipo outer_allocator_type, um sinónimo para Outer, que é uma base pública do objeto de scoped_allocator_adaptor .Outer é usado para atribuir a memória ser usado por um recipiente.Você pode obter uma referência a esse objeto base do distribuidor chamando outer_allocator.

O restante da aninhada tem o tipo inner_allocator_type.Um distribuidor interno é usado para alocar memória para os elementos dentro de um recipiente.Você pode obter uma referência ao objeto armazenado chamando inner_allocatorde esse tipo.Se Inner... não estiver vazia, inner_allocator_type tem o tipo scoped_allocator_adaptor<Inner...>, e inner_allocator designa um objeto de membro.Caso contrário, inner_allocator_type tem o tipo scoped_allocator_adaptor<Outer>, e inner_allocator designa o objeto inteiro.

O a aninhada se comporta como se ele tem a profundidade arbitrária, replicando o distribuidor encapsulado interno quando necessário.

Vários conceitos que não são uma parte visível de auxílio de interface em descrever o comportamento da classe de modelo.Um distribuidor mais externo negocia todas as chamadas a compilação e destrói métodos.Efetivamente é definida pela função recursiva OUTERMOST(X), onde é um OUTERMOST(X) a seguir.

  • Se X.outer_allocator() é bem formado, então OUTERMOST(X) é OUTERMOST(X.outer_allocator()).

  • Caso contrário, OUTERMOST(X) é X.

Três tipos são definidos para a exposição:

Tipo

Descrição

Outermost

O tipo de OUTERMOST(*this).

Outermost_traits

allocator_traits<Outermost>

Outer_traits

allocator_traits<Outer>

Hh972427.collapse_all(pt-br,VS.110).gifConstrutores

Nome

Descrição

Construtor scoped_allocator_adaptor::scoped_allocator_adaptor

Constrói um objeto de scoped_allocator_adaptor .

Hh972427.collapse_all(pt-br,VS.110).gifTypedefs

Nome

Descrição

const_pointer

Este é um tipo sinónimo para const_pointer que está associado com o distribuidor Outer.

const_void_pointer

Este é um tipo sinónimo para const_void_pointer que está associado com o distribuidor Outer.

difference_type

Este é um tipo sinónimo para difference_type que está associado com o distribuidor Outer.

inner_allocator_type

Este é um tipo sinónimo para o tipo do adaptador aninhado scoped_allocator_adaptor<Inner...>.

outer_allocator_type

Este é um tipo sinónimo para o tipo do distribuidor base Outer.

pointer

Este é um tipo sinónimo para pointer associado com o distribuidor Outer.

propagate_on_container_copy_assignment

O tipo contém somente se verdadeiro Outer_traits::propagate_on_container_copy_assignment contém as verdadeiras contém ou de inner_allocator_type::propagate_on_container_copy_assignment verdadeiras.

propagate_on_container_move_assignment

O tipo contém somente se verdadeiro Outer_traits::propagate_on_container_move_assignment contém as verdadeiras contém ou de inner_allocator_type::propagate_on_container_move_assignment verdadeiras.

propagate_on_container_swap

O tipo contém somente se verdadeiro Outer_traits::propagate_on_container_swap contém as verdadeiras contém ou de inner_allocator_type::propagate_on_container_swap verdadeiras.

size_type

Este é um tipo sinónimo para size_type associado com o distribuidor Outer.

value_type

Este é um tipo sinónimo para value_type associado com o distribuidor Outer.

void_pointer

Este é um tipo sinónimo para void_pointer associado com o distribuidor Outer.

Hh972427.collapse_all(pt-br,VS.110).gifEstruturas

Nome

Descrição

Struct scoped_allocator_adaptor::rebind

Define o tipo Outer::rebind<Other>::other como um sinónimo para scoped_allocator_adaptor<Other, Inner...>.

Hh972427.collapse_all(pt-br,VS.110).gifMétodos

Nome

Descrição

Método scoped_allocator_adaptor::allocate

Aloca memória usando o distribuidor de Outer .

Método scoped_allocator_adaptor::construct

Constrói um objeto.

Método scoped_allocator_adaptor::deallocate

Desaloca objetos usando o distribuidor externo.

Método scoped_allocator_adaptor::destroy

For um objeto especificado.

Método scoped_allocator_adaptor::inner_allocator

Recupera uma referência ao objeto do tipo inner_allocator_typearmazenado.

Método scoped_allocator_adaptor::max_size

Determina o número máximo de objetos que podem ser atribuídos pelo distribuidor externo.

Método scoped_allocator_adaptor::outer_allocator

Recupera uma referência ao objeto do tipo outer_allocator_typearmazenado.

Método scoped_allocator_adaptor::select_on_container_copy_construction

Cria um novo objeto de scoped_allocator_adaptor com cada objeto armazenado do distribuidor inicializado select_on_container_copy_construction chamando para cada distribuidor correspondente.

Requisitos

Cabeçalho: <scoped_allocator>

namespace: STD

Consulte também

Outros recursos

Arquivos de cabeçalho