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.

Siehe auch