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.