Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma classe base da qual você pode derivar para implementar sua própria coleção associativa não observável personalizada. Para obter mais informações e exemplos de código, consulte Coleções com C++/WinRT.
Syntax
template <typename D, typename K, typename V>
struct map_base : map_view_base<D, K, V, winrt::impl::collection_version>
Parâmetros de modelo
typename D Seu nome de tipo derivado.
typename K O tipo das chaves na coleção.
typename V O tipo dos valores na coleção.
Requisitos
SDK mínimo com suporte: Windows SDK versão 10.0.17763.0 (Windows 10, versão 1809)
Namespace: winrt
Cabeçalho: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (incluído por padrão)
Funções de membro
| Função | Descrição |
|---|---|
| função map_base::Clear | Remove todos os elementos do objeto map_base . |
| função map_base::First | Recupera um IIterator que representa o primeiro elemento no objeto map_base . |
| Função map_base::GetView | Recupera uma exibição imutável do objeto map_base . |
| Função map_base::HasKey | Determina se a chave especificada pertence a um elemento no objeto map_base . |
| função map_base::Insert | Insere ou atualiza um elemento no objeto map_base . |
| Função map_base::Lookup | Pesquisa o elemento identificado pela chave especificada e recupera o valor correspondente. |
| função map_base::Remove | Remove um elemento do objeto map_base . |
| Função map_base::Size | Recupera o número de elementos no objeto map_base . |
Iterators
Um map_base é um intervalo e esse intervalo é definido por funções livres internas (cada uma das quais recupera um iterador) compatíveis com os recursos de linguagem padrão. Por isso, você pode enumerar os elementos em um objeto map_base com uma instrução baseada em for intervalo.
Você também pode recuperar um IIterator da função map_base::First e usá-lo para iterar por meio dos elementos em um objeto map_base .
...
#include <iostream>
using namespace winrt;
using namespace Windows::Foundation::Collections;
...
struct MyMap :
implements<MyMap, IMap<winrt::hstring, int>, IMapView<winrt::hstring, int>, IIterable<IKeyValuePair<winrt::hstring, int>>>,
winrt::map_base<MyMap, winrt::hstring, int>
{
auto& get_container() const noexcept
{
return m_values;
}
auto& get_container() noexcept
{
return m_values;
}
private:
std::map<winrt::hstring, int> m_values{
{ L"AliceBlue", 0xfff0f8ff }, { L"AntiqueWhite", 0xfffaebd7 }
};
};
...
IMap<winrt::hstring, int> map{ winrt::make<MyMap>() };
for (auto const& el : map)
{
std::wcout << el.Key().c_str() << L", " << std::hex << el.Value() << std::endl;
}
IIterator<IKeyValuePair<winrt::hstring, int>> it{ map.First() };
while (it.HasCurrent())
{
std::wcout << it.Current().Key().c_str() << L", " << std::hex << it.Current().Value() << std::endl;
it.MoveNext();
}
função map_base::Clear
Remove todos os elementos do objeto map_base .
Syntax
void Clear() noexcept;
função map_base::First
Recupera um IIterator que representa o primeiro elemento no objeto map_base .
Sintaxe
auto First();
Valor retornado
Um IIterator que representa o primeiro elemento no objeto map_base .
Função map_base::GetView
Recupera uma exibição imutável do objeto map_base .
Sintaxe
winrt::Windows::Foundation::Collections::IMapView<K, V> GetView() const;
Valor retornado
Um IMapView que contém uma exibição imutável do map_base.
Função map_base::HasKey
Determina se a chave especificada pertence a um elemento no objeto map_base .
Sintaxe
bool HasKey(K const& key) const noexcept;
Parâmetros
key A chave a ser pesquisada.
Valor retornado
true se um elemento que contém a chave for encontrado, caso contrário false.
função map_base::Insert
Insere ou atualiza um elemento no objeto map_base .
Sintaxe
bool Insert(K const& key, V const& value);
Parâmetros
key A chave associada ao elemento a ser inserido ou atualizado.
value O valor a ser inserido ou substituído.
Valor retornado
true se um elemento com a chave especificada foi encontrado e atualizado; caso contrário false.
Função map_base::Lookup
Pesquisa o elemento identificado pela chave especificada e recupera o valor correspondente.
Sintaxe
V Lookup(K const& key) const;
Parâmetros
key A chave a ser pesquisada.
Valor retornado
O valor correspondente à chave que está sendo pesquisada se encontrado, caso contrário, uma exceção winrt::hresult_out_of_bounds é lançada.
função map_base::Remove
Remove um elemento do objeto map_base .
Sintaxe
void Remove(K const& key);
Parâmetros
key A chave associada ao elemento a ser removido.
Função map_base::Size
Recupera o número de elementos no objeto map_base .
Sintaxe
uint32_t Size() const noexcept;
Valor retornado
Um valor que representa o número de elementos no objeto map_base .