Plantilla de estructura winrt::vector_view_base (C++/WinRT)
Una clase base de la que puede derivar para implementar su propia vista personalizada, o intervalo, de una secuencia contigua de elementos en una colección de uso general. Para obtener más información y ejemplos de código, consulta Colecciones con C++/WinRT.
Sintaxis
template <typename D, typename T, typename Version = winrt::impl::no_collection_version>
struct vector_view_base : iterable_base<D, T, Version>
Parámetros de plantilla
typename D
El nombre del tipo derivado.
typename T
Tipo de los elementos que vector_view_base vistas o abarca.
typename Version
Tipo que proporciona la directiva de control de versiones y los servicios a la colección.
Requisitos
SDK mínimo admitido: sdk de Windows 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 |
---|---|
vector_view_base::First (Función) | Recupera un IIterator que representa el primer elemento visto por el objeto vector_view_base . |
vector_view_base::GetAt (Función) | Recupera el elemento en el índice especificado visto por el objeto vector_view_base . |
vector_view_base::GetMany (Función) | Recupera una colección de elementos vistos por el objeto vector_view_base comenzando en el índice especificado. |
vector_view_base::IndexOf (Función) | Recupera el índice de un elemento especificado visto por el objeto vector_view_base . |
vector_view_base::Size (Función) | Recupera el número de elementos vistos por el objeto vector_view_base . |
Iterators
Un vector_view_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 vistos por un objeto vector_view_base con una instrucción basada en for
intervalos.
También puede recuperar un IIterator de la función vector_view_base::First y usarlo para recorrer en iteración los elementos vistos por un objeto vector_view_base .
...
#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 (Función)
Recupera un IIterator que representa el primer elemento visto por el objeto vector_view_base .
Sintaxis
auto First();
Valor devuelto
IIterator que representa el primer elemento visto por el objeto vector_view_base.
vector_view_base::GetAt (Función)
Recupera el elemento en el índice especificado visto por el objeto vector_view_base .
Sintaxis
T GetAt(uint32_t const index) const;
Parámetros
index
Índice de elemento de base cero.
Valor devuelto
Elemento del índice especificado visto por el objeto vector_view_base .
vector_view_base::GetMany (Función)
Recupera una colección de elementos vistos por el objeto vector_view_base comenzando 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.
vector_view_base::IndexOf (Función)
Recupera el índice de un elemento especificado visto por el objeto vector_view_base .
Sintaxis
bool IndexOf(T const& value, uint32_t& index) const noexcept;
Parámetros
value
Elemento, visto por el objeto vector_view_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 vistos por el objeto vector_view_base .
Valor devuelto
true
es si se encuentra el elemento ; de lo contrario false
, es .
vector_view_base::Size (Función)
Recupera el número de elementos vistos por el objeto vector_view_base .
Sintaxis
uint32_t Size() const noexcept;
Valor devuelto
Valor que representa el número de elementos vistos por el objeto vector_view_base .