Compartilhar via


Classe Platform::Collections::Map

Representa um mapa, que é uma coleção de pares chave-valor. Implementa Windows::Foundation::Collections::IObservableMap para ajudar na associação de dados XAML.

Sintaxe

template <
   typename K,
   typename V,
   typename C = std::less<K>>
ref class Map sealed;

Parâmetros

K
O tipo de chave em pares chave-valor.

V
O tipo de valor em pares chave-valor.

C
Um tipo que fornece um objeto de função que pode comparar dois valores de elemento como chaves de classificação para determinar sua ordem relativa no Map. Por padrão, std::less<K>.

__is_valid_winrt_type() Uma função gerada pelo compilador que valida o tipo de K e V e fornece uma mensagem de erro amigável caso o tipo não possa ser armazenado no Map.

Comentários

Os tipos permitidos são:

  • integers

  • classe interface^

  • classe ref pública^

  • value struct

  • classe de enum pública

O mapa é basicamente um wrapper para std::map. É uma implementação concreta em C++ dos tipos Windows::Foundation::Collections::IMap<Windows::Foundation::Collections::IKeyValuePair<K,V>> e IObservableMap que são transmitidos pelas interfaces públicas do Windows Runtime. Se você tentar usar um tipo Platform::Collections::Map em um parâmetro ou valor de retorno público, o erro do compilador C3986 será gerado. Você pode corrigir o erro alterando o tipo do parâmetro ou do valor retornado para Windows::Foundation::Collections::IMap<K,V>.

Para obter mais informações, confira Coleções.

Membros

Construtores públicos

Nome Descrição
Map::Map Inicializa uma nova instância da classe Map.

Métodos públicos

Nome Descrição
Map::Clear Remove todos os pares chave-valor do objeto Map atual.
Map::First Retorna um iterador que especifica o primeiro elemento no mapa.
Map::GetView Retorna uma exibição somente leitura do Mapa atual; isto é, um Platform::Collections::MapView Class.
Map::HasKey Determina se o Map atual contém a chave especificada.
Map::Insert Adiciona os pares chave-valor especificados ao objeto Map atual.
Map::Lookup Recupera o elemento na chave especificada no objeto Map atual.
Mapa::Remover Exclui os pares chave-valor especificados do objeto Map atual.
Map::Size Retorna o número de elementos no objeto Map atual.

Eventos

Nome Descrição
Map::MapChanged event Ocorre quando o Map é alterado.

Hierarquia de herança

Map

Requisitos

Cabeçalho: collection.h

Namespace: Platform::Collections

Método Map::Clear

Remove todos os pares chave-valor do objeto Map atual.

Sintaxe

virtual void Clear();

Método Map::First

Retorna um iterador que especifica o primeiro elemento no mapa, ou nullptr se o mapa estiver vazio.

Sintaxe

virtual Windows::Foundation::Collections::IIterator<
Windows::Foundation::Collections::IKeyValuePair<K, V>^>^ First();

Valor retornado

Um iterador que especifica o primeiro elemento no mapa.

Comentários

Uma maneira conveniente de manter o iterador retornado por First() é atribuir o valor retornado a uma variável declarada com a palavra-chave de dedução do tipo auto. Por exemplo, auto x = myMap->First();.

Método Map::GetView

Retorna uma exibição somente leitura do Map atual; isto é, uma classe Platform::Collections::MapView, que implementa a interface Windows::Foundation::Collections::IMapView<K,V>.

Sintaxe

Windows::Foundation::Collections::IMapView<K, V>^ GetView();

Valor retornado

Um objeto MapView.

Método Map::HasKey

Determina se o Map atual contém a chave especificada.

Sintaxe

bool HasKey(K key);

Parâmetros

chave
A chave usada para localizar o elemento Map. O tipo de key é o typename K.

Valor de retorno

true se a chave for encontrada; caso contrário, false.

Método Map::Insert

Adiciona os pares chave-valor especificados ao objeto Map atual.

Sintaxe

virtual bool Insert(K key, V value);

Parâmetros

chave
A porção de chave do par chave-valor. O tipo de key é o typename K.

value
A porção de valor do par chave-valor. O tipo de value é o typename V.

Valor de retorno

true se a chave de um elemento existente no mapa atual corresponder a key e a parte de valor desse elemento for definida como value. false se nenhum elemento existente no Map atual corresponder a key e os parâmetros key e value forem colocados em um par chave-valor e depois adicionados ao Map atual.

Método Map::Lookup

Recupera o valor do tipo V que está associado à chave especificada do tipo K, se a chave existir.

Sintaxe

V Lookup(K key);

Parâmetros

chave
A chave usada para localizar um elemento em Map. O tipo de key é o typename K.

Valor de retorno

O valor que é emparelhado com a key. O tipo do valor retornado é o typename V.

Comentários

Se a chave não existir, uma Platform::OutOfBoundsException será gerada.

Construtor Map::Map

Inicializa uma nova instância da classe Map.

Sintaxe

explicit Map(const C& comp = C());
explicit Map(const StdMap& m);
explicit Map(StdMap&& m ;
template <typename InIt>
Map(
   InItfirst,
   InItlast,
   const C& comp = C());

Parâmetros

InIt
O typename do Map atual.

comp
Um tipo que fornece um objeto de função que pode comparar dois valores de elemento como chaves de classificação para determinar sua ordem relativa no Map.

m
Uma referência ou rvalue a um map Class que é usado para inicializar o Map atual.

first
O iterador de entrada do primeiro elemento em um intervalo de elementos usados para inicializar o Map atual.

last
O iterador de entrada do primeiro elemento após um intervalo de elementos usados para inicializar o Map atual.

Evento Map::MapChanged

Gerado quando um item é inserido no mapa ou removido dele.

Sintaxe

event Windows::Foundation::Collections::MapChangedEventHandler<K,V>^ MapChanged;

Valor da propriedade/Valor do retorno

Um MapChangedEventHandler<K,V> que contém informações sobre o objeto que gerou o evento e o tipo de alteração que ocorreu. Confira também IMapChangedEventArgs<K> e Enumeração CollectionChange.

Equivalente ao .NET Framework

Aplicativos do Windows Runtime que usam um projeto C# ou Visual Basic IMap<K,V> como IDictionary<K,V>.

Método Map::Remove

Exclui os pares chave-valor especificados do objeto Map atual.

Sintaxe

virtual void Remove(K key);

Parâmetros

chave
A porção de chave do par chave-valor. O tipo de key é o typename K.

Método Map::Size

Retorna o número de elementos Windows::Foundation::Collections::IKeyValuePair<K,V> no Map.

Sintaxe

virtual property unsigned int Size;

Valor retornado

O número de elementos em Map.

Confira também

Coleções (C++/CX)
Namespace de Plataforma
Criando componentes do Windows Runtime no C++