Freigeben über


winrt::vector_view_base Strukturvorlage (C++/WinRT)

Eine Basisklasse, von der Sie ihre eigene benutzerdefinierte Ansicht oder Spanne einer zusammenhängenden Abfolge von Elementen in einer allgemeinen Auflistung ableiten können. Weitere Informationen und Codebeispiele finden Sie unter Sammlungen mit C++/WinRT.

Syntax

template <typename D, typename T, typename Version = winrt::impl::no_collection_version>
struct vector_view_base : iterable_base<D, T, Version>

Vorlagenparameter

typename D Ihr abgeleiteter Typname.

typename T Der Typ der Elemente, die die vector_view_base Ansichten anzeigen oder überspannen.

typename Version Ein Typ, der Versionsverwaltungsrichtlinie 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
vector_view_base::First-Funktion Ruft einen IIterator ab, der das erste element darstellt, das vom vector_view_base -Objekt angezeigt wird.
vector_view_base::GetAt-Funktion Ruft das Element am angegebenen Index ab, der vom vector_view_base -Objekt angezeigt wird.
vector_view_base::GetMany-Funktion Ruft eine Auflistung von Elementen ab, die vom vector_view_base -Objekt ab dem angegebenen Index angezeigt werden.
vector_view_base::IndexOf-Funktion Ruft den Index eines angegebenen Elements ab, das vom vector_view_base -Objekt angezeigt wird.
vector_view_base::Size-Funktion Ruft die Anzahl der Elemente ab, die vom vector_view_base -Objekt angezeigt werden.

Iterators

Ein vector_view_base ist ein Bereich, und dieser Bereich wird durch interne freie Funktionen definiert (die jeweils einen Iterator abrufen), die mit standardsprachlichen Features kompatibel sind. Aus diesem Grund können Sie die elemente aufzählen, die von einem vector_view_base-Objekt mit einer bereichsbasierten for Anweisung angezeigt werden.

Sie können auch einen IIterator aus der vector_view_base::First-Funktion abrufen und dies verwenden, um die von einem vector_view_base-Objekt angezeigten Elemente zu durchlaufen.

...
#include <iostream>
using namespace winrt;
using namespace Windows::Foundation::Collections;
...
struct MyVectorView :
    implements<MyVectorView, IVectorView<float>, IIterable<float>>,
    winrt::vector_view_base<MyVectorView, float>
{
    auto& get_container() const noexcept
    {
        return m_values;
    }

private:
    std::vector<float> m_values{ 0.1f, 0.2f, 0.3f };
};
...
IVectorView<float> view{ winrt::make<MyVectorView>() };

for (float el : view)
{
    std::wcout << el << std::endl;
}

IIterator<float> it{ view.First() };
while (it.HasCurrent())
{
    std::wcout << it.Current() << std::endl;
    it.MoveNext();
}

vector_view_base::First-Funktion

Ruft einen IIterator ab, der das erste element darstellt, das vom vector_view_base -Objekt angezeigt wird.

Syntax

auto First();

Rückgabewert

Ein IIterator , der das erste element darstellt, das vom vector_view_base-Objekt angezeigt wird.

vector_view_base::GetAt-Funktion

Ruft das Element am angegebenen Index ab, der vom vector_view_base -Objekt angezeigt wird.

Syntax

T GetAt(uint32_t const index) const;

Parameter

index Ein nullbasierter Elementindex.

Rückgabewert

Das Element am angegebenen Index, der vom vector_view_base -Objekt angezeigt wird.

vector_view_base::GetMany-Funktion

Ruft eine Auflistung von Elementen ab, die vom vector_view_base -Objekt ab dem angegebenen Index angezeigt werden.

Syntax

uint32_t GetMany(uint32_t const startIndex, array_view<T> values) const;

Parameter

startIndex Ein nullbasierter Elementindex, der gestartet werden soll.

values Eine array_view , in die die Elemente kopiert werden sollen.

Rückgabewert

Ein Wert, der die Anzahl der abgerufenen Elemente darstellt.

vector_view_base::IndexOf-Funktion

Ruft den Index eines angegebenen Elements ab, das vom vector_view_base -Objekt angezeigt wird.

Syntax

bool IndexOf(T const& value, uint32_t& index) const noexcept;

Parameter

value Das Element, das vom vector_view_base-Objekt angezeigt wird, nach dem gesucht werden soll.

index Der nullbasierte Index des Elements, wenn das Element gefunden wird, andernfalls die Anzahl der Elemente, die vom vector_view_base -Objekt angezeigt werden.

Rückgabewert

true wenn das Element gefunden wird, andernfalls false.

vector_view_base::Size-Funktion

Ruft die Anzahl der Elemente ab, die vom vector_view_base -Objekt angezeigt werden.

Syntax

uint32_t Size() const noexcept;

Rückgabewert

Ein Wert, der die Anzahl der Elemente darstellt, die vom vector_view_base Objekt angezeigt werden.

Siehe auch