winrt::map_base-Strukturvorlage (C++/WinRT)

Eine Basisklasse, von der Sie ihre eigene benutzerdefinierte nicht beobachtete assoziative Auflistung implementieren können. Weitere Informationen und Codebeispiele finden Sie unter Sammlungen mit C++/WinRT.

Syntax

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

Vorlagenparameter

typename D Ihr abgeleiteter Typname.

typename K Der Typ der Schlüssel in der Auflistung.

typename V Der Typ der Werte in der Auflistung.

Anforderungen

Mindest unterstütztes SDK: Windows SDK Version 10.0.17763.0 (Windows 10, Version 1809)

Namespace: winrt

Header: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (standardmäßig enthalten)

Memberfunktionen

Funktion BESCHREIBUNG
map_base::Funktion löschen Entfernt alle Elemente aus dem map_base-Objekt .
map_base::Erste Funktion Ruft einen IIterator ab, der das erste Element im map_base-Objekt darstellt.
map_base::GetView-Funktion Ruft eine unveränderliche Ansicht des map_base-Objekts ab.
map_base::HasKey-Funktion Bestimmt, ob der angegebene Schlüssel zu einem Element im map_base-Objekt gehört.
map_base::Funktion einfügen Fügt ein Oder aktualisiert ein Element im map_base-Objekt .
map_base::Nachschlagefunktion Sucht das durch den angegebenen Schlüssel identifizierte Element nach, und ruft den entsprechenden Wert ab.
map_base::Remove-Funktion Entfernt ein Element aus dem map_base-Objekt .
map_base::Size-Funktion Ruft die Anzahl der Elemente im map_base-Objekt ab.

Iterators

Ein map_base ist ein Bereich, und dieser Bereich wird durch interne freie Funktionen definiert (jeweils ein Iterator abgerufen), der mit Standardsprachefeatures kompatibel ist. Aus diesem Grund können Sie die Elemente in einem map_base-Objekt mit einer bereichsbasierten for Anweisung aufzählen.

Sie können auch einen IIterator aus der map_base::First-Funktion abrufen und diese verwenden, um die Elemente in einem map_base-Objekt zu iterieren.

...
#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::Funktion löschen

Entfernt alle Elemente aus dem map_base-Objekt .

Syntax

void Clear() noexcept;

map_base::Erste Funktion

Ruft einen IIterator ab, der das erste Element im map_base-Objekt darstellt.

Syntax

auto First();

Rückgabewert

Ein IIterator , der das erste Element im map_base-Objekt darstellt.

map_base::GetView-Funktion

Ruft eine unveränderliche Ansicht des map_base-Objekts ab.

Syntax

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

Rückgabewert

Eine IMapView mit einer unveränderlichen Ansicht des map_base.

map_base::HasKey-Funktion

Bestimmt, ob der angegebene Schlüssel zu einem Element im map_base-Objekt gehört.

Syntax

bool HasKey(K const& key) const noexcept;

Parameter

key Der Schlüssel, nach dem gesucht werden soll.

Rückgabewert

true wenn ein Element mit dem Schlüssel gefunden wird, andernfalls false.

map_base::Funktion einfügen

Fügt ein Oder aktualisiert ein Element im map_base-Objekt .

Syntax

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

Parameter

key Der Schlüssel, der dem Element zugeordnet ist, um einzufügen oder zu aktualisieren.

value Der Wert, der eingefügt oder ersetzt werden soll.

Rückgabewert

true wenn ein Element mit dem angegebenen Schlüssel gefunden und aktualisiert wurde; andernfalls false.

map_base::Nachschlagefunktion

Sucht das durch den angegebenen Schlüssel identifizierte Element nach, und ruft den entsprechenden Wert ab.

Syntax

V Lookup(K const& key) const;

Parameter

key Der Schlüssel zum Nachschlagen.

Rückgabewert

Der Wert, der dem Nachschlagen des Schlüssels entspricht, wenn gefunden wird, andernfalls wird eine winrt::hresult_out_of_bounds Ausnahme ausgelöst.

map_base::Remove-Funktion

Entfernt ein Element aus dem map_base-Objekt .

Syntax

void Remove(K const& key);

Parameter

key Der schlüssel, der dem element zugeordnet ist, das entfernt werden soll.

map_base::Size-Funktion

Ruft die Anzahl der Elemente im map_base-Objekt ab.

Syntax

uint32_t Size() const noexcept;

Rückgabewert

Ein Wert, der die Anzahl der Elemente im map_base-Objekt darstellt.

Siehe auch