Freigeben über


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.

Siehe auch