Compartilhar via


mapa (STL/CLR)

A classe de modelo descreve um objeto que controla uma seqüência de comprimento variando de elementos que tem acesso bidirecional.Use o contêiner map para gerenciar uma seqüência de elementos como uma árvore balanceada (quase) ordenada de nós, cada um elemento de armazenamento.Um elemento consiste em uma chave, para pedidos a seqüência e um valor mapeado, que vai para a jornada.

Na descrição abaixo, GValue é o mesmo:

Microsoft::VisualC::StlClr::GenericPair<GKey, GMapped>

onde:

GKeyé o mesmo que Key , a menos que o último é um tipo de referência, caso em que éKey^

GMappedé o mesmo que Mapped , a menos que o último é um tipo de referência, caso em que éMapped^

template<typename Key,
    typename Mapped>
    ref class map
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        System::Collections::Generic::IDictionary<Gkey, GMapped>,
        Microsoft::VisualC::StlClr::ITree<Gkey, GValue>
    { ..... };

Parâmetros

  • Chave
    O tipo de componente fundamental de um elemento na seqüência controlada.

  • Mapeados
    O tipo de componente adicional de um elemento na seqüência controlada.

Membros

Definição de tipo

Descrição

Map::const_iterator (STL/CLR)

O tipo de um iterador constante para a seqüência controlada.

Map::const_reference (STL/CLR)

O tipo de uma referência constante a um elemento.

Map::const_reverse_iterator (STL/CLR)

O tipo de um iterador inverso constante para a seqüência controlada.

Map::difference_type (STL/CLR)

O tipo de uma distância (possivelmente assinado) entre dois elementos.

Map::generic_container (STL/CLR)

O tipo de interface genérica para o recipiente.

Map::generic_iterator (STL/CLR)

O tipo de um iterador para a interface genérica para o recipiente.

Map::generic_reverse_iterator (STL/CLR)

O tipo de um iterador inverso para a interface genérica para o recipiente.

Map::generic_value (STL/CLR)

O tipo de um elemento da interface genérica para o recipiente.

Map::Iterator (STL/CLR)

O tipo de um iterador para a seqüência controlada.

Map::key_compare (STL/CLR)

O delegado pedido de duas chaves.

Map::key_type (STL/CLR)

O tipo de uma chave de ordenação.

Map::mapped_type (STL/CLR)

O tipo de valor mapeado associado a cada chave.

Map::Reference (STL/CLR)

O tipo de uma referência a um elemento.

Map::reverse_iterator (STL/CLR)

O tipo de um iterador inverso para a seqüência controlada.

Map::size_type (STL/CLR)

O tipo de uma distância (não negativo) entre dois elementos.

Map::value_compare (STL/CLR)

O delegado pedido para dois valores de elemento.

Map::value_type (STL/CLR)

O tipo de um elemento.

Função de membro

Descrição

Map::Begin (STL/CLR)

Designa o início da seqüência controlada.

Map::Clear (STL/CLR)

Remove todos os elementos.

Map::Count (STL/CLR)

Contagens de elementos correspondentes a uma chave especificada.

Map::Empty (STL/CLR)

Testes se elementos não estão presentes.

Map::end (STL/CLR)

Designa o final da seqüência controlada.

Map::equal_range (STL/CLR)

Localiza o intervalo que corresponde a uma chave especificada.

Map::Erase (STL/CLR)

Remove os elementos em posições especificadas.

Map::Find (STL/CLR)

Localiza um elemento que coincida com uma chave especificada.

Map::Insert (STL/CLR)

Adiciona elementos.

Map::key_comp (STL/CLR)

Copia o delegado pedido de duas chaves.

Map::lower_bound (STL/CLR)

Localiza o início do intervalo que corresponde a uma chave especificada.

Map::make_value (STL/CLR)

Constrói um objeto de valor.

Map::Map (STL/CLR)

Constrói um objeto de recipiente.

Map::rbegin (STL/CLR)

Designa o início da seqüência controlada revertida.

Map::rend (STL/CLR)

Designa o final da seqüência controlada revertida.

Map::Size (STL/CLR)

Conta o número de elementos.

Map::swap (STL/CLR)

Troca o conteúdo dos dois recipientes.

Map::to_array (STL/CLR)

Copia a seqüência controlada para uma nova matriz.

Map::upper_bound (STL/CLR)

Localiza o final do intervalo que corresponde a uma chave especificada.

Map::value_comp (STL/CLR)

Copia o delegate pedido para dois valores de elemento.

Operator

Descrição

Map::Operator = (STL/CLR)

Substitui a seqüência controlada.

Map::Operator [] (STL/CLR)

Mapeia uma chave para seu valor mapeado associado.

operador! = (STL/CLR) (mapa)

Determina se um map não é igual a outro objeto map objeto.

operador < (mapa) (STL/CLR)

Determina se um map objeto é menor que outro map objeto.

operador < = (STL/CLR) (mapa)

Determina se um map objeto é menor ou igual a outro map objeto.

operador = = (STL/CLR) (mapa)

Determina se um map objeto é igual a outro map objeto.

operador > (mapa) (STL/CLR)

Determina se um map objeto é maior que o outro map objeto.

operador > = (STL/CLR) (mapa)

Determina se um map objeto é maior ou igual a outro map objeto.

Interfaces

Interface

Descrição

ICloneable

Duplica um objeto.

IEnumerable

Por meio de elementos na seqüência.

ICollection

Manter o grupo de elementos.

IEnumerable<T>

Seqüência pelos elementos digitados.

ICollection<T>

Manter o grupo de elementos digitados.

IDictionary<TKey, TValue>

Manter grupo {valor chave} pares.

ITree < chave, valor >

Manter um contêiner genérico.

Comentários

O objeto aloca e libera o armazenamento para a seqüência que ele controla como nós individuais.Ele insere elementos em uma árvore balanceada (quase) que mantém ordenada alterando os links entre os nós nunca copiando o conteúdo de um nó para outro.Isso significa que você pode inserir e remover elementos livremente sem atrapalhar elementos restantes.

O objeto ordena a seqüência que ele controla chamando um objeto delegado armazenado do tipo Map::key_compare (STL/CLR).Você pode especificar o objeto delegado armazenado quando você construir o mapa; Se você não especificar nenhum objeto delegado, o padrão é a comparação operator<(key_type, key_type).Acessar este objeto armazenado chamando a função de membro Map::key_comp (STL/CLR)().

Um objeto de delegado deve impor uma ordem fraca estrita em chaves do tipo Map::key_type (STL/CLR).Isso significa que, para quaisquer duas chaves X e Y:

key_comp()(X, Y)Retorna o Boolean mesmo resultar em cada chamada.

Se key_comp()(X, Y) for true, em seguida, key_comp()(Y, X) deve ser false.

Se key_comp()(X, Y) for true, em seguida, X é dito ser solicitados antes de Y.

Se !key_comp()(X, Y) && !key_comp()(Y, X) for true, em seguida, X e Y disse ter pedido equivalente.

Para qualquer elemento X que precede Y na seqüência controlada, key_comp()(Y, X) é falso.(Para o objeto delegado padrão, as chaves nunca diminuir no valor.) Ao contrário da classe de modelo mapa (STL/CLR), um objeto de classe de modelo map não requer chaves para todos os elementos são exclusivas.(Duas ou mais teclas podem ter pedido equivalente).

Cada elemento contém uma chave e um valor mapeado.A seqüência é representada de forma que permite a pesquisa, inserção e remoção de um elemento arbitrário com um número de operações proporcionais ao logaritmo do número de elementos na seqüência (tempo logarítmica).Além disso, inserir um elemento invalida não iteradores e remover um elemento invalida os iteradores que apontem para o elemento removido.

Um mapa suporta iteradores bidirecional, o que significa que passo dadas um iterador que designa um elemento na seqüência controlada de elementos adjacentes.Um nó principal especial corresponde ao iterador retornado por Map::end (STL/CLR)().Você pode diminuir este iterador para alcançar o último elemento na seqüência controlada, se presente.Você pode incrementar um iterador de mapa para alcançar o nó principal e, em seguida, comparar igual a end().Mas não cancelam o iterador retornado por end().

Observe que você não pode se referir a um elemento map diretamente dado sua posição numérica – o que requer um iterador de acesso aleatório.

Um iterador mapa armazena um identificador para o nó de mapa associado, que por sua vez armazena um identificador de seu contêiner associado.Você pode usar iteradores somente com seus objetos de recipiente associado.Um iterador mapa permanece válido, desde que o nó de mapa associado está associado a algum mapa.Além disso, um iterador válido é dereferencable--ele pode ser usado para acessar ou alterar o valor do elemento designa – desde que não é igual a end().

Apagar ou remover um elemento chama o destruidor para o valor armazenado.Destruir o recipiente apaga todos os elementos.Assim, um recipiente cujo tipo de elemento é uma classe ref garante que nenhum elemento outlive no recipiente.Entretanto, observe que um recipiente de alças não not destruir seus elementos.

Requisitos

Cabeçalho: < cliext/mapa >

Namespace: cliext

Consulte também

Referência

hash_map (STL/CLR)

hash_map (STL/CLR)

hash_multiset (STL/CLR)

hash_set (STL/CLR)

mapa (STL/CLR)

multiset (STL/CLR)

conjunto (STL/CLR)

Outros recursos

Referência de biblioteca STL/CLR