winrt::map_view_base Strukturvorlage (C++/WinRT)
Eine Basisklasse, von der Sie ihre eigene benutzerdefinierte Ansicht oder die Spanne einer zusammenhängenden Sequenz von Elementen in einer assoziativen Auflistung implementieren können. Weitere Informationen und Codebeispiele finden Sie unter Sammlungen mit 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>
Vorlagenparameter
typename D
Ihr abgeleiteter Typname.
typename K
Der Typ der Schlüssel in der Auflistung, die die map_view_base Ansichten oder Spannen umfasst.
typename V
Der Typ der Werte in der Auflistung, die die map_view_base Ansichten oder Spannen umfasst.
typename Version
Ein Typ, der Versionsverwaltungsrichtlinien und -dienste für die Auflistung bereitstellt.
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_view_base::Erste Funktion | Ruft einen IIterator ab, der das erste element darstellt, das vom map_view_base-Objekt angezeigt wird. |
map_view_base::HasKey-Funktion | Bestimmt, ob der angegebene Schlüssel zu einem element gehört, das vom map_view_base-Objekt angezeigt wird. |
map_view_base::Nachschlagefunktion | Sucht das durch den angegebenen Schlüssel identifizierte Element nach, und ruft den entsprechenden Wert ab. |
map_view_base::Size-Funktion | Ruft die Anzahl der von dem map_view_base-Objekt angezeigten Elemente ab. |
map_view_base::Split-Funktion | Teilt die Kartenansicht in zwei Ansichten auf. |
Iterators
Ein map_view_base ist ein Bereich, und dieser Bereich wird durch interne freie Funktionen definiert (jede davon ruft einen Iterator ab), der mit Standardsprachefeatures kompatibel ist. Aus diesem Grund können Sie die elemente aufzählen, die von einem map_view_base-Objekt mit einer bereichsbasierten for
Anweisung angezeigt werden.
Sie können auch einen IIterator aus der map_view_base::First-Funktion abrufen und diese verwenden, um die von einem map_view_base-Objekt angezeigten Elemente zu iterieren.
...
#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::Erste Funktion
Ruft einen IIterator ab, der das erste element darstellt, das vom map_view_base-Objekt angezeigt wird.
Syntax
auto First();
Rückgabewert
Ein IIterator , der das erste element darstellt, das vom map_view_base-Objekt angezeigt wird.
map_view_base::HasKey-Funktion
Bestimmt, ob der angegebene Schlüssel zu einem element gehört, das vom map_view_base-Objekt angezeigt wird.
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_view_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_view_base::Size-Funktion
Ruft die Anzahl der von dem map_view_base-Objekt angezeigten Elemente ab.
Syntax
uint32_t Size() const noexcept;
Rückgabewert
Ein Wert, der die Anzahl der von dem map_view_base-Objekt angezeigten Elemente darstellt.
map_view_base::Split-Funktion
Teilt die Kartenansicht in zwei Ansichten auf.
Syntax
void Split(Windows::Foundation::Collections::IMapView<K, V>& first, Windows::Foundation::Collections::IMapView<K, V>& second) const noexcept;
Parameter
first
Eine Hälfte der ursprünglichen Karte.
second
Die zweite Hälfte der ursprünglichen Karte.