Modelo de struct winrt::vector_base (C++/WinRT)
Uma classe base da qual você pode derivar para implementar sua própria coleção personalizada de uso geral não observável. Para obter mais informações e exemplos de código, consulte Coleções com C++/WinRT.
Syntax
template <typename D, typename T>
struct vector_base : vector_view_base<D, T, winrt::impl::collection_version>
Parâmetros de modelo
typename D
Seu nome de tipo derivado.
typename T
O tipo dos elementos no vector_base.
Requisitos
SDK mínimo com suporte: 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_base::Append | Acrescenta um elemento ao final do objeto vector_base . |
função vector_base::Clear | Remove todos os elementos do objeto vector_base . |
função vector_base::First | Recupera um IIterator que representa o primeiro elemento no objeto vector_base . |
Função vector_base::GetAt | Recupera o elemento no índice especificado no objeto vector_base . |
Função vector_base::GetMany | Recupera uma coleção de elementos no objeto vector_base começando no índice fornecido. |
Função vector_base::GetView | Recupera uma exibição imutável do objeto vector_base . |
Função vector_base::IndexOf | Recupera o índice de um elemento especificado no objeto vector_base . |
Função vector_base::InsertAt | Insere um elemento no índice especificado no objeto vector_base . |
função vector_base::RemoveAt | Remove o elemento no índice especificado no objeto vector_base . |
Função vector_base::RemoveAtEnd | Remove o último elemento do objeto vector_base . |
Função vector_base::ReplaceAll | Substitui todos os elementos no objeto vector_base pelos elementos especificados. |
Função vector_base::SetAt | Define o valor do elemento no índice especificado no objeto vector_base . |
Função vector_base::Size | Recupera o número de elementos no objeto vector_base . |
Iterators
Um vector_base é um intervalo e esse intervalo é definido por funções livres internas (cada uma das quais recupera um iterador) compatíveis com os recursos de linguagem padrão. Por isso, você pode enumerar os elementos em um objeto vector_base com uma instrução baseada em for
intervalo.
Você também pode recuperar um IIterator da função vector_base::First e usá-lo para iterar por meio dos elementos em um 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();
}
Função vector_base::Append
Acrescenta um elemento ao final do objeto vector_base .
Sintaxe
void Append(T const& value);
Parâmetros
value
O elemento a ser acrescentado.
função vector_base::Clear
Remove todos os elementos do objeto vector_base .
Syntax
void Clear() noexcept;
função vector_base::First
Recupera um IIterator que representa o primeiro elemento no objeto vector_base .
Sintaxe
auto First();
Valor retornado
Um IIterator que representa o primeiro elemento no objeto vector_base .
Função vector_base::GetAt
Recupera o elemento no índice especificado no objeto vector_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 no objeto vector_base .
Função vector_base::GetMany
Recupera uma coleção de elementos no objeto vector_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_base::GetView
Recupera uma exibição imutável do objeto vector_base .
Sintaxe
winrt::Windows::Foundation::Collections::IVectorView<T> GetView() const noexcept;
Valor retornado
Um IVectorView que contém uma exibição imutável do vector_base.
Função vector_base::IndexOf
Recupera o índice de um elemento especificado no objeto vector_base .
Sintaxe
bool IndexOf(T const& value, uint32_t& index) const noexcept;
Parâmetros
value
O elemento, no objeto vector_base , a ser buscado.
index
O índice baseado em zero do elemento se o elemento for encontrado, caso contrário, o número de elementos no objeto vector_base .
Valor retornado
true
se o elemento for encontrado, caso contrário false
.
Função vector_base::InsertAt
Insere um elemento no índice especificado no objeto vector_base .
Sintaxe
void InsertAt(uint32_t const index, T const& value);
Parâmetros
index
O índice baseado em zero no qual inserir o elemento.
value
O elemento a ser inserido.
função vector_base::RemoveAt
Remove o elemento no índice especificado no objeto vector_base .
Sintaxe
void RemoveAt(uint32_t const index);
Parâmetros
index
O índice baseado em zero do elemento a ser removido.
Função vector_base::RemoveAtEnd
Remove o último elemento do objeto vector_base .
Syntax
void RemoveAtEnd();
Função vector_base::ReplaceAll
Substitui todos os elementos no objeto vector_base pelos elementos especificados.
Sintaxe
void ReplaceAll(array_view<T const> value);
Parâmetros
value
Um array_view que contém os novos elementos.
Função vector_base::SetAt
Define o valor do elemento no índice especificado no objeto vector_base .
Sintaxe
void SetAt(uint32_t const index, T const& value);
Parâmetros
index
O índice baseado em zero do elemento cujo valor a ser definido.
value
O valor do elemento a ser definido.
Função vector_base::Size
Recupera o número de elementos no objeto vector_base .
Sintaxe
uint32_t Size() const noexcept;
Valor retornado
Um valor que representa o número de elementos no objeto vector_base .