Partilhar via


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 .

Confira também