Partager via


winrt::map_base, modèle de struct (C++/WinRT)

Classe de base à partir de laquelle vous pouvez dériver pour implémenter votre propre collection associative non observable personnalisée. Pour plus d’informations et des exemples de code, consultez Collections avec C++/WinRT.

Syntax

template <typename D, typename K, typename V>
struct map_base : map_view_base<D, K, V, winrt::impl::collection_version>

Paramètres de modèle

typename D Nom de votre type dérivé.

typename K Type des clés de la collection.

typename V Type des valeurs de 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_base::Clear, fonction Supprime tous les éléments de l’objet map_base .
map_base::First, fonction Récupère un IIterator représentant le premier élément de l’objet map_base .
map_base::GetView, fonction Récupère une vue immuable de l’objet map_base .
map_base::HasKey, fonction Détermine si la clé spécifiée appartient à un élément de l’objet map_base .
map_base::Insert, fonction Insère ou met à jour un élément dans l’objet map_base .
map_base::Lookup, fonction Recherche l’élément identifié par la clé spécifiée et récupère la valeur correspondante.
map_base::Remove, fonction Supprime un élément de l’objet map_base .
map_base::Size, fonction Récupère le nombre d’éléments de l’objet map_base .

Iterators

Une map_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 d’un objet map_base avec une instruction basée sur for une plage.

Vous pouvez également récupérer un IIterator à partir de la fonction map_base::First et l’utiliser pour itérer dans les éléments d’un objet 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();
}

map_base::Clear, fonction

Supprime tous les éléments de l’objet map_base .

Syntax

void Clear() noexcept;

map_base::First, fonction

Récupère un IIterator représentant le premier élément de l’objet map_base .

Syntaxe

auto First();

Valeur de retour

IIterator représentant le premier élément de l’objet map_base.

map_base::GetView, fonction

Récupère une vue immuable de l’objet map_base .

Syntaxe

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

Valeur de retour

IMapView contenant une vue immuable du map_base.

map_base::HasKey, fonction

Détermine si la clé spécifiée appartient à un élément de l’objet map_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_base::Insert, fonction

Insère ou met à jour un élément dans l’objet map_base .

Syntaxe

bool Insert(K const& key, V const& value);

Paramètres

key Clé associée à l’élément à insérer ou à mettre à jour.

value Valeur à insérer ou remplacer.

Valeur retournée

true si un élément avec la clé spécifiée a été trouvé et mis à jour; sinon false.

map_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_base::Remove, fonction

Supprime un élément de l’objet map_base .

Syntaxe

void Remove(K const& key);

Paramètres

key Clé associée à l’élément à supprimer.

map_base::Size, fonction

Récupère le nombre d’éléments de l’objet map_base .

Syntaxe

uint32_t Size() const noexcept;

Valeur de retour

Valeur représentant le nombre d’éléments de l’objet map_base .

Voir aussi