modello di struct winrt::map_view_base (C++/WinRT)
Classe di base da cui è possibile derivare per implementare una visualizzazione personalizzata o un intervallo di una sequenza contigua di elementi in una raccolta associativa. Per altre informazioni ed esempi di codice, vedere Raccolte con C++/WinRT.
Sintassi
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>
Parametri di modelli
typename D
Nome del tipo derivato.
typename K
Tipo delle chiavi nell'insieme che le visualizzazioni map_view_base o si estendono.
typename V
Tipo dei valori nell'insieme che le visualizzazioni map_view_base o si estendono.
typename Version
Tipo che fornisce criteri e servizi di controllo delle versioni alla raccolta.
Requisiti
SDK minimo supportato: Windows SDK versione 10.0.17763.0 (Windows 10, versione 1809)
Spazio dei nomi: winrt
Intestazione: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (incluso per impostazione predefinita)
Funzioni membro
Funzione | Descrizione |
---|---|
map_view_base::First funzione | Recupera un IIterator che rappresenta il primo elemento visualizzato dall'oggetto map_view_base . |
funzione map_view_base::HasKey | Determina se la chiave specificata appartiene a un elemento visualizzato dall'oggetto map_view_base . |
funzione map_view_base::Lookup | Cerca l'elemento identificato dalla chiave specificata e recupera il valore corrispondente. |
funzione map_view_base::Size | Recupera il numero di elementi visualizzati dall'oggetto map_view_base . |
funzione map_view_base::Split | Suddivide la visualizzazione mappa in due visualizzazioni. |
Iterators
Un map_view_base è un intervallo e tale intervallo è definito da funzioni gratuite interne (ognuna delle quali recupera un iteratore) compatibile con le funzionalità del linguaggio standard. A causa di questo, è possibile enumerare gli elementi visualizzati da un oggetto map_view_base con un'istruzione basata su for
intervallo.
È anche possibile recuperare un IIterator dalla funzione map_view_base::First e usarlo per scorrere gli elementi visualizzati da un oggetto 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();
}
map_view_base::First funzione
Recupera un IIterator che rappresenta il primo elemento visualizzato dall'oggetto map_view_base .
Sintassi
auto First();
Valore restituito
IIterator che rappresenta il primo elemento visualizzato dall'oggetto map_view_base.
funzione map_view_base::HasKey
Determina se la chiave specificata appartiene a un elemento visualizzato dall'oggetto map_view_base .
Sintassi
bool HasKey(K const& key) const noexcept;
Parametri
key
Chiave da cercare.
Valore restituito
true
se viene trovato un elemento contenente la chiave, in caso contrario false
.
funzione map_view_base::Lookup
Cerca l'elemento identificato dalla chiave specificata e recupera il valore corrispondente.
Sintassi
V Lookup(K const& key) const;
Parametri
key
Chiave da cercare.
Valore restituito
Il valore corrispondente alla chiave da cercare se trovato, in caso contrario viene generata un'eccezione winrt::hresult_out_of_bounds .
funzione map_view_base::Size
Recupera il numero di elementi visualizzati dall'oggetto map_view_base .
Sintassi
uint32_t Size() const noexcept;
Valore restituito
Valore che rappresenta il numero di elementi visualizzati dall'oggetto map_view_base .
funzione map_view_base::Split
Suddivide la visualizzazione mappa in due visualizzazioni.
Sintassi
void Split(Windows::Foundation::Collections::IMapView<K, V>& first, Windows::Foundation::Collections::IMapView<K, V>& second) const noexcept;
Parametri
first
Metà della mappa originale.
second
Seconda metà della mappa originale.