winrt::vector_view_base modelo de struct (C++/WinRT)
Uma classe base da qual você pode derivar para implementar sua própria exibição personalizada, ou intervalo, de uma sequência contígua de elementos em uma coleção de uso geral. Para obter mais informações e exemplos de código, consulte Coleções com C++/WinRT.
Syntax
template <typename D, typename T, typename Version = winrt::impl::no_collection_version>
struct vector_view_base : iterable_base<D, T, Version>
Parâmetros de modelo
typename D
Seu nome de tipo derivado.
typename T
O tipo dos elementos que o vector_view_base exibições ou abrange.
typename Version
Um tipo que fornece política de controle de versão e serviços para a coleção.
Requisitos
SDK com suporte mínimo: Windows SDK versão 10.0.17763.0 (Windows 10, versão 1809)
Namespace: winrt
Cabeçalho: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (incluído por padrão)
Funções de membro
Função | Descrição |
---|---|
função vector_view_base::First | Recupera um IIterator que representa o primeiro elemento exibido pelo objeto vector_view_base . |
Função vector_view_base::GetAt | Recupera o elemento no índice especificado exibido pelo objeto vector_view_base . |
Função vector_view_base::GetMany | Recupera uma coleção de elementos exibidos pelo objeto vector_view_base começando no índice fornecido. |
Função vector_view_base::IndexOf | Recupera o índice de um elemento especificado exibido pelo objeto vector_view_base . |
Função vector_view_base::Size | Recupera o número de elementos exibidos pelo objeto vector_view_base . |
Iterators
Um vector_view_base é um intervalo e esse intervalo é definido por funções livres internas (cada uma delas recupera um iterador) compatíveis com os recursos de linguagem padrão. Por isso, você pode enumerar os elementos exibidos por um objeto vector_view_base com uma instrução baseada em for
intervalo.
Você também pode recuperar um IIterator da função vector_view_base::First e usá-lo para iterar por meio dos elementos exibidos por um 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();
}
função vector_view_base::First
Recupera um IIterator que representa o primeiro elemento exibido pelo objeto vector_view_base .
Sintaxe
auto First();
Valor retornado
Um IIterator que representa o primeiro elemento exibido pelo objeto vector_view_base .
Função vector_view_base::GetAt
Recupera o elemento no índice especificado exibido pelo objeto vector_view_base .
Sintaxe
T GetAt(uint32_t const index) const;
Parâmetros
index
Um índice de elemento baseado em zero.
Valor retornado
O elemento no índice especificado exibido pelo objeto vector_view_base .
Função vector_view_base::GetMany
Recupera uma coleção de elementos exibidos pelo objeto vector_view_base começando no índice fornecido.
Sintaxe
uint32_t GetMany(uint32_t const startIndex, array_view<T> values) const;
Parâmetros
startIndex
Um índice de elemento baseado em zero a ser iniciado.
values
Um array_view para copiar os itens.
Valor retornado
Um valor que representa o número de elementos recuperados.
Função vector_view_base::IndexOf
Recupera o índice de um elemento especificado exibido pelo objeto vector_view_base .
Sintaxe
bool IndexOf(T const& value, uint32_t& index) const noexcept;
Parâmetros
value
O elemento, exibido pelo objeto vector_view_base , para procurar.
index
O índice baseado em zero do elemento se o elemento for encontrado, caso contrário, o número de elementos exibidos pelo objeto vector_view_base .
Valor retornado
true
se o elemento for encontrado, caso contrário false
.
Função vector_view_base::Size
Recupera o número de elementos exibidos pelo objeto vector_view_base .
Sintaxe
uint32_t Size() const noexcept;
Valor retornado
Um valor que representa o número de elementos exibidos pelo objeto vector_view_base .