winrt::map_view_base modèle de struct (C++/WinRT)
Classe de base à partir de laquelle vous pouvez dériver pour implémenter votre propre vue personnalisée, ou étendue, d’une séquence contiguë d’éléments dans une collection associative. Pour plus d’informations et des exemples de code, consultez Collections avec 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>
Paramètres de modèle
typename D
Nom de votre type dérivé.
typename K
Type des clés de la collection que les vues map_view_base ou étendues.
typename V
Type des valeurs de la collection que les vues ou étendues map_view_base.
typename Version
Type qui fournit une stratégie de contrôle de version et des services à la collection.
Spécifications
Kit de développement logiciel (SDK) pris en charge minimum : Windows SDK version 10.0.0.17763.0 (Windows 10, version 1809)
Espace de noms : winrt
En-tête : %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (inclus par défaut)
Fonctions Membre
Fonction | Description |
---|---|
map_view_base:First, fonction | Récupère un IIterator représentant le premier élément consulté par l’objet map_view_base . |
map_view_base::HasKey, fonction | Détermine si la clé spécifiée appartient à un élément consulté par l’objet map_view_base . |
map_view_base::Lookup, fonction | Recherche l’élément identifié par la clé spécifiée et récupère la valeur correspondante. |
map_view_base::Size, fonction | Récupère le nombre d’éléments consultés par l’objet map_view_base . |
map_view_base::Split, fonction | Fractionne la vue cartographique en deux vues. |
Iterators
Une map_view_base est une plage et cette plage est définie par des fonctions libres internes (chacune d’elles récupère un itérateur) compatibles avec les fonctionnalités de langage standard. En raison de cela, vous pouvez énumérer les éléments consultés par un objet map_view_base avec une instruction basée sur for
une plage.
Vous pouvez également récupérer un IIterator à partir de la fonction map_view_base::First et l’utiliser pour itérer dans les éléments consultés par un objet 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, fonction
Récupère un IIterator représentant le premier élément consulté par l’objet map_view_base .
Syntaxe
auto First();
Valeur de retour
IIterator représentant le premier élément consulté par l’objet map_view_base.
map_view_base::HasKey, fonction
Détermine si la clé spécifiée appartient à un élément consulté par l’objet map_view_base .
Syntaxe
bool HasKey(K const& key) const noexcept;
Paramètres
key
Clé à rechercher.
Valeur retournée
true
si un élément contenant la clé est trouvé, sinon false
.
map_view_base::Lookup, fonction
Recherche l’élément identifié par la clé spécifiée et récupère la valeur correspondante.
Syntaxe
V Lookup(K const& key) const;
Paramètres
key
Clé à rechercher.
Valeur retournée
Valeur correspondant à la clé recherchée si elle est trouvée, sinon une exception winrt::hresult_out_of_bounds est levée.
map_view_base::Size, fonction
Récupère le nombre d’éléments consultés par l’objet map_view_base .
Syntaxe
uint32_t Size() const noexcept;
Valeur de retour
Valeur représentant le nombre d’éléments consultés par l’objet map_view_base .
map_view_base::Split, fonction
Fractionne la vue cartographique en deux vues.
Syntaxe
void Split(Windows::Foundation::Collections::IMapView<K, V>& first, Windows::Foundation::Collections::IMapView<K, V>& second) const noexcept;
Paramètres
first
Une moitié de la carte d’origine.
second
Deuxième moitié de la carte d’origine.