winrt::vector_base-Strukturvorlage (C++/WinRT)
Eine Basisklasse, von der Sie ableiten können, um Ihre eigene benutzerdefinierte nicht beobachtbare allgemeine Auflistung zu implementieren. Weitere Informationen und Codebeispiele finden Sie unter Sammlungen mit C++/WinRT.
Syntax
template <typename D, typename T>
struct vector_base : vector_view_base<D, T, winrt::impl::collection_version>
Vorlagenparameter
typename D
Ihr abgeleiteter Typname.
typename T
Der Typ der Elemente im vector_base.
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_base::Append-Funktion | Fügt ein Element am Ende des vector_base-Objekts an. |
vector_base::Clear-Funktion | Entfernt alle Elemente aus dem vector_base-Objekt . |
vector_base::First-Funktion | Ruft einen IIterator ab, der das erste Element im vector_base -Objekt darstellt. |
vector_base::GetAt-Funktion | Ruft das Element am angegebenen Index im vector_base -Objekt ab. |
vector_base::GetMany-Funktion | Ruft eine Auflistung von Elementen im vector_base -Objekt ab dem angegebenen Index ab. |
vector_base::GetView-Funktion | Ruft eine unveränderliche Ansicht des vector_base -Objekts ab. |
vector_base::IndexOf-Funktion | Ruft den Index eines angegebenen Elements im vector_base -Objekt ab. |
vector_base::InsertAt-Funktion | Fügt ein Element am angegebenen Index im vector_base -Objekt ein. |
vector_base::RemoveAt-Funktion | Entfernt das Element am angegebenen Index im vector_base -Objekt. |
vector_base::RemoveAtEnd-Funktion | Entfernt das letzte Element aus dem vector_base-Objekt . |
vector_base::ReplaceAll-Funktion | Ersetzt alle Elemente im vector_base -Objekt durch die angegebenen Elemente. |
vector_base::SetAt-Funktion | Legt den Wert des Elements am angegebenen Index im vector_base -Objekt fest. |
vector_base::Size-Funktion | Ruft die Anzahl der Elemente im vector_base -Objekt ab. |
Iterators
Ein vector_base ist ein Bereich, und dieser Bereich wird durch interne freie Funktionen definiert (die jeweils einen Iterator abrufen), die mit Standardsprachenfeatures kompatibel sind. Aus diesem Grund können Sie die Elemente in einem vector_base-Objekt mit einer bereichsbasierten for
Anweisung aufzählen.
Sie können auch einen IIterator aus der vector_base::First-Funktion abrufen und dies verwenden, um die Elemente in einem vector_base-Objekt zu durchlaufen.
...
#include <iostream>
using namespace winrt;
using namespace Windows::Foundation::Collections;
...
struct MyVector :
implements<MyVector, IVector<float>, IVectorView<float>, IIterable<float>>,
winrt::vector_base<MyVector, float>
{
auto& get_container() const noexcept
{
return m_values;
}
auto& get_container() noexcept
{
return m_values;
}
private:
std::vector<float> m_values{ 0.1f, 0.2f, 0.3f };
};
...
IVector<float> coll{ winrt::make<MyVector>() };
for (auto const& el : coll)
{
std::wcout << el << std::endl;
}
IIterator<float> it{ coll.First() };
while (it.HasCurrent())
{
std::wcout << it.Current() << std::endl;
it.MoveNext();
}
vector_base::Append-Funktion
Fügt ein Element am Ende des vector_base-Objekts an.
Syntax
void Append(T const& value);
Parameter
value
Das element, das angefügt werden soll.
vector_base::Clear-Funktion
Entfernt alle Elemente aus dem vector_base-Objekt .
Syntax
void Clear() noexcept;
vector_base::First-Funktion
Ruft einen IIterator ab, der das erste Element im vector_base -Objekt darstellt.
Syntax
auto First();
Rückgabewert
Ein IIterator , der das erste Element im vector_base-Objekt darstellt.
vector_base::GetAt-Funktion
Ruft das Element am angegebenen Index im vector_base -Objekt ab.
Syntax
T GetAt(uint32_t const index) const;
Parameter
index
Ein nullbasierter Elementindex.
Rückgabewert
Das Element am angegebenen Index im vector_base-Objekt .
vector_base::GetMany-Funktion
Ruft eine Auflistung von Elementen im vector_base -Objekt ab dem angegebenen Index ab.
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_base::GetView-Funktion
Ruft eine unveränderliche Ansicht des vector_base -Objekts ab.
Syntax
winrt::Windows::Foundation::Collections::IVectorView<T> GetView() const noexcept;
Rückgabewert
Eine IVectorView , die eine unveränderliche Ansicht der vector_base enthält.
vector_base::IndexOf-Funktion
Ruft den Index eines angegebenen Elements im vector_base -Objekt ab.
Syntax
bool IndexOf(T const& value, uint32_t& index) const noexcept;
Parameter
value
Das Element im vector_base-Objekt , nach dem gesucht werden soll.
index
Der nullbasierte Index des Elements, wenn das Element gefunden wird, andernfalls die Anzahl der Elemente im vector_base-Objekt .
Rückgabewert
true
wenn das Element gefunden wird, andernfalls false
.
vector_base::InsertAt-Funktion
Fügt ein Element am angegebenen Index im vector_base -Objekt ein.
Syntax
void InsertAt(uint32_t const index, T const& value);
Parameter
index
Der nullbasierte Index, an dem das Element eingefügt werden soll.
value
Das element, das eingefügt werden soll.
vector_base::RemoveAt-Funktion
Entfernt das Element am angegebenen Index im vector_base -Objekt.
Syntax
void RemoveAt(uint32_t const index);
Parameter
index
Der nullbasierte Index des zu entfernenden Elements.
vector_base::RemoveAtEnd-Funktion
Entfernt das letzte Element aus dem vector_base-Objekt .
Syntax
void RemoveAtEnd();
vector_base::ReplaceAll-Funktion
Ersetzt alle Elemente im vector_base -Objekt durch die angegebenen Elemente.
Syntax
void ReplaceAll(array_view<T const> value);
Parameter
value
Ein array_view mit den neuen Elementen.
vector_base::SetAt-Funktion
Legt den Wert des Elements im angegebenen Index im vector_base-Objekt fest.
Syntax
void SetAt(uint32_t const index, T const& value);
Parameter
index
Der nullbasierte Index des Elements, dessen Wert festgelegt werden soll.
value
Der zu festlegende Elementwert.
vector_base::Size-Funktion
Ruft die Anzahl der Elemente im vector_base-Objekt ab.
Syntax
uint32_t Size() const noexcept;
Rückgabewert
Ein Wert, der die Anzahl der Elemente im vector_base-Objekt darstellt.