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 |
---|---|
O tipo de um iterador constante para a seqüência controlada. |
|
O tipo de uma referência constante a um elemento. |
|
O tipo de um iterador inverso constante para a seqüência controlada. |
|
O tipo de uma distância (possivelmente assinado) entre dois elementos. |
|
O tipo de interface genérica para o recipiente. |
|
O tipo de um iterador para a interface genérica para o recipiente. |
|
O tipo de um iterador inverso para a interface genérica para o recipiente. |
|
O tipo de um elemento da interface genérica para o recipiente. |
|
O tipo de um iterador para a seqüência controlada. |
|
O delegado pedido de duas chaves. |
|
O tipo de uma chave de ordenação. |
|
O tipo de valor mapeado associado a cada chave. |
|
O tipo de uma referência a um elemento. |
|
O tipo de um iterador inverso para a seqüência controlada. |
|
O tipo de uma distância (não negativo) entre dois elementos. |
|
O delegado pedido para dois valores de elemento. |
|
O tipo de um elemento. |
Função de membro |
Descrição |
---|---|
Designa o início da seqüência controlada. |
|
Remove todos os elementos. |
|
Contagens de elementos correspondentes a uma chave especificada. |
|
Testes se elementos não estão presentes. |
|
Designa o final da seqüência controlada. |
|
Localiza o intervalo que corresponde a uma chave especificada. |
|
Remove os elementos em posições especificadas. |
|
Localiza um elemento que coincida com uma chave especificada. |
|
Adiciona elementos. |
|
Copia o delegado pedido de duas chaves. |
|
Localiza o início do intervalo que corresponde a uma chave especificada. |
|
Constrói um objeto de valor. |
|
Constrói um objeto de recipiente. |
|
Designa o início da seqüência controlada revertida. |
|
Designa o final da seqüência controlada revertida. |
|
Conta o número de elementos. |
|
Troca o conteúdo dos dois recipientes. |
|
Copia a seqüência controlada para uma nova matriz. |
|
Localiza o final do intervalo que corresponde a uma chave especificada. |
|
Copia o delegate pedido para dois valores de elemento. |
Operator |
Descrição |
---|---|
Substitui a seqüência controlada. |
|
Mapeia uma chave para seu valor mapeado associado. |
|
Determina se um map não é igual a outro objeto map objeto. |
|
Determina se um map objeto é menor que outro map objeto. |
|
Determina se um map objeto é menor ou igual a outro map objeto. |
|
Determina se um map objeto é igual a outro map objeto. |
|
Determina se um map objeto é maior que o outro map objeto. |
|
Determina se um map objeto é maior ou igual a outro map objeto. |
Interfaces
Interface |
Descrição |
---|---|
Duplica um objeto. |
|
Por meio de elementos na seqüência. |
|
Manter o grupo de elementos. |
|
Seqüência pelos elementos digitados. |
|
Manter o grupo de elementos digitados. |
|
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