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.