Plantilla de estructura winrt::vector_base (C++/WinRT)

Clase base de la que puede derivar para implementar su propia colección personalizada de uso general no observable. Para obtener más información y ejemplos de código, consulta Colecciones con C++/WinRT.

Sintaxis

template <typename D, typename T>
struct vector_base : vector_view_base<D, T, winrt::impl::collection_version>

Parámetros de plantilla

typename D Nombre del tipo derivado.

typename T Tipo de los elementos del vector_base.

Requisitos

SDK mínimo admitido: Windows SDK versión 10.0.17763.0 (Windows 10, versión 1809)

Espacio de nombres: winrt

Encabezado: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (incluido de forma predeterminada)

Funciones miembro

Función Descripción
función vector_base::Append Anexa un elemento al final del objeto vector_base .
función vector_base::Clear Quita todos los elementos del objeto vector_base .
función vector_base::First Recupera un objeto IIterator que representa el primer elemento del objeto vector_base .
función vector_base::GetAt Recupera el elemento en el índice especificado del objeto vector_base .
función vector_base::GetMany Recupera una colección de elementos del objeto vector_base que comienza en el índice especificado.
función vector_base::GetView Recupera una vista inmutable del objeto vector_base .
función vector_base::IndexOf Recupera el índice de un elemento especificado en el objeto vector_base .
función vector_base::InsertAt Inserta un elemento en el índice especificado en el objeto vector_base .
función vector_base::RemoveAt Quita el elemento en el índice especificado del objeto vector_base .
vector_base::RemoveAtEnd (función) Quita el último elemento del objeto vector_base .
vector_base::ReplaceAll (Función) Reemplaza todos los elementos del objeto vector_base por los elementos especificados.
función vector_base::SetAt Establece el valor del elemento en el índice especificado del objeto vector_base .
vector_base::Size (función) Recupera el número de elementos del objeto vector_base .

Iterators

Un vector_base es un intervalo y ese intervalo se define mediante funciones libres internas (cada una de las cuales recupera un iterador) que son compatibles con las características de lenguaje estándar. Por este motivo, puede enumerar los elementos de un objeto vector_base con una instrucción basada en for intervalos.

También puede recuperar un IIterator de la función vector_base::First y usarlo para recorrer en iteración los elementos de un objeto vector_base .

...
#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();
}

función vector_base::Append

Anexa un elemento al final del objeto vector_base .

Sintaxis

void Append(T const& value);

Parámetros

value Elemento que se va a anexar.

función vector_base::Clear

Quita todos los elementos del objeto vector_base .

Sintaxis

void Clear() noexcept;

función vector_base::First

Recupera un objeto IIterator que representa el primer elemento del objeto vector_base .

Sintaxis

auto First();

Valor devuelto

IIterator que representa el primer elemento del objeto vector_base.

función vector_base::GetAt

Recupera el elemento en el índice especificado del objeto vector_base .

Sintaxis

T GetAt(uint32_t const index) const;

Parámetros

index Índice de elemento de base cero.

Valor devuelto

Elemento del índice especificado en el objeto vector_base .

función vector_base::GetMany

Recupera una colección de elementos del objeto vector_base que comienza en el índice especificado.

Sintaxis

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

Parámetros

startIndex Índice de elemento de base cero en el que empezar.

values Un array_view en el que copiar los elementos.

Valor devuelto

Valor que representa el número de elementos recuperados.

función vector_base::GetView

Recupera una vista inmutable del objeto vector_base .

Sintaxis

winrt::Windows::Foundation::Collections::IVectorView<T> GetView() const noexcept;

Valor devuelto

IVectorView que contiene una vista inmutable del vector_base.

función vector_base::IndexOf

Recupera el índice de un elemento especificado en el objeto vector_base .

Sintaxis

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

Parámetros

value Elemento, en el objeto vector_base , que se va a buscar.

index Índice de base cero del elemento si se encuentra el elemento; de lo contrario, el número de elementos del objeto vector_base .

Valor devuelto

true Es si se encuentra el elemento ; de lo contrario false, es .

función vector_base::InsertAt

Inserta un elemento en el índice especificado en el objeto vector_base .

Sintaxis

void InsertAt(uint32_t const index, T const& value);

Parámetros

index Índice de base cero en el que se va a insertar el elemento.

value Elemento que se va a insertar.

función vector_base::RemoveAt

Quita el elemento en el índice especificado del objeto vector_base .

Sintaxis

void RemoveAt(uint32_t const index);

Parámetros

index Índice de base cero del elemento que se va a quitar.

vector_base::RemoveAtEnd (función)

Quita el último elemento del objeto vector_base .

Sintaxis

void RemoveAtEnd();

vector_base::ReplaceAll (Función)

Reemplaza todos los elementos del objeto vector_base por los elementos especificados.

Sintaxis

void ReplaceAll(array_view<T const> value);

Parámetros

value Un array_view que contiene los nuevos elementos.

vector_base::SetAt (Función)

Establece el valor del elemento en el índice especificado del objeto vector_base .

Sintaxis

void SetAt(uint32_t const index, T const& value);

Parámetros

index Índice de base cero del elemento cuyo valor se va a establecer.

value Valor del elemento que se va a establecer.

vector_base::Size (Función)

Recupera el número de elementos del objeto vector_base .

Sintaxis

uint32_t Size() const noexcept;

Valor devuelto

Valor que representa el número de elementos del objeto vector_base .

Consulte también