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 exibição personalizada, ou intervalo, de uma sequência contígua de elementos em uma coleção associativa. Para obter mais informações e exemplos de código, consulte Coleções com C++/WinRT.
Syntax
template <typename D, typename K, typename V, typename Version = winrt::impl::no_collection_version>
struct map_view_base : iterable_base<D, winrt::Windows::Foundation::Collections::IKeyValuePair<K, V>, Version>
Parâmetros de modelo
typename D Seu nome de tipo derivado.
typename K O tipo das chaves na coleção que o map_view_base exibições ou abrange.
typename V O tipo dos valores na coleção que o map_view_base exibições ou abrange.
typename Version Um tipo que fornece política de controle de versão e serviços para a coleção.
Requisitos
SDK com suporte mínimo: 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_view_base::First | Recupera um IIterator que representa o primeiro elemento exibido pelo objeto map_view_base . |
| Função map_view_base::HasKey | Determina se a chave especificada pertence a um elemento exibido pelo objeto map_view_base . |
| função map_view_base::Lookup | Pesquisa o elemento identificado pela chave especificada e recupera o valor correspondente. |
| Função map_view_base::Size | Recupera o número de elementos exibidos pelo objeto map_view_base . |
| Função map_view_base::Split | Divide a exibição do mapa em duas exibições. |
Iterators
Um map_view_base é um intervalo e esse intervalo é definido por funções livres internas (cada uma delas recupera um iterador) compatíveis com recursos de linguagem padrão. Por isso, você pode enumerar os elementos exibidos por um objeto map_view_base com uma instrução baseada em for intervalo.
Você também pode recuperar um IIterator da função map_view_base::First e usá-lo para iterar por meio dos elementos exibidos por um objeto map_view_base .
...
#include <iostream>
using namespace winrt;
using namespace Windows::Foundation::Collections;
...
struct MyMapView :
implements<MyMapView, IMapView<winrt::hstring, int>, IIterable<IKeyValuePair<winrt::hstring, int>>>,
winrt::map_view_base<MyMapView, winrt::hstring, int>
{
auto& get_container() const noexcept
{
return m_values;
}
private:
std::map<winrt::hstring, int> m_values{
{ L"AliceBlue", 0xfff0f8ff }, { L"AntiqueWhite", 0xfffaebd7 }
};
};
...
IMapView<winrt::hstring, int> view{ winrt::make<MyMapView>() };
for (auto const& el : view)
{
std::wcout << el.Key().c_str() << L", " << std::hex << el.Value() << std::endl;
}
IIterator<IKeyValuePair<winrt::hstring, int>> it{ view.First() };
while (it.HasCurrent())
{
std::wcout << it.Current().Key().c_str() << L", " << std::hex << it.Current().Value() << std::endl;
it.MoveNext();
}
função map_view_base::First
Recupera um IIterator que representa o primeiro elemento exibido pelo objeto map_view_base .
Sintaxe
auto First();
Valor retornado
Um IIterator que representa o primeiro elemento exibido pelo objeto map_view_base .
Função map_view_base::HasKey
Determina se a chave especificada pertence a um elemento exibido pelo objeto map_view_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_view_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 é gerada.
Função map_view_base::Size
Recupera o número de elementos exibidos pelo objeto map_view_base .
Sintaxe
uint32_t Size() const noexcept;
Valor retornado
Um valor que representa o número de elementos exibidos pelo objeto map_view_base .
Função map_view_base::Split
Divide a exibição do mapa em duas exibições.
Sintaxe
void Split(Windows::Foundation::Collections::IMapView<K, V>& first, Windows::Foundation::Collections::IMapView<K, V>& second) const noexcept;
Parâmetros
first Metade do mapa original.
second A segunda metade do mapa original.