Partilhar via


Classe Platform::Collections::Vector

Representa uma coleção sequencial de objetos que podem ser acessados separadamente por índice. Implementa Windows::Foundation::Collections::IObservableVector para ajudar na associação de dados XAML.

Sintaxe

template <typename T, typename E>
   ref class Vector sealed;

Parâmetros

T
O tipo dos elementos contidos no objeto Vector.

E
Especifica um predicado binário para testar a igualdade com valores do tipo T. O valor padrão é std::equal_to<T>.

Comentários

Os tipos permitidos são:

  1. integers

  2. classe interface^

  3. classe ref pública^

  4. value struct

  5. classe de enum pública

A classe Vector é a implementação concreta de C++ da interface Windows::Foundation::Collections::IVector.

Se você tentar usar um tipo Vector em um parâmetro ou valor retornado público, o erro do compilador C3986 será gerado. Você pode corrigir o erro alterando o tipo do parâmetro ou do valor de retorno para Windows::Foundation::Collections::IVector. Para obter mais informações, consulte Coleções (C++/CX).

Membros

Construtores públicos

Nome Descrição
Vector::Vector Inicializa uma nova instância da classe Vector.

Métodos públicos

Nome Descrição
Vetor::Anexar Insere o item especificado após o último item no Vector atual.
Vector::Clear Exclui todos os elementos no Vector atual.
Vector::First Retorna um iterador que especifica o primeiro elemento em Vector.
Vector::GetAt Recupera o elemento de Vector atual que é identificado pelo índice especificado.
Vector::GetMany Recupera uma sequência de itens de Vector atual, começando no índice especificado.
Vector::GetView Retorna uma exibição somente leitura de um Vector; isto é, um Platform::Collections::VectorView.
Vector::IndexOf Procura o item especificado no vetor atual, e se encontrado, retorna o índice do item.
Vetor::InsertAt Insere o item especificado no Vector atual no elemento identificado pelo índice especificado.
Vetor::ReplaceAll Exclui os elementos no Vector atual e insere os elementos da matriz especificada.
Vetor::RemoveAt Exclui o elemento identificado pelo índice especificado do Vector atual.
Vetor::RemoveAtEnd Exclui o elemento no final do Vector atual.
Vetor::SetAt Atribui o valor especificado ao elemento no Vector atual que é identificado pelo índice especificado.
Vector::Size Retorna o número de elementos no objeto Vector atual.

Eventos

Nome Descrição
event Windows::Foundation::Collection::VectorChangedEventHandler<T>^ VectorChanged Ocorre quando o Vector é alterado.

Hierarquia de herança

Vector

Requisitos

Cabeçalho: collection.h

Namespace: Platform::Collections

Método Vector::Append

Insere o item especificado após o último item no Vector atual.

Sintaxe

virtual void Append(T item);

Parâmetros

index
O item a ser inserido no Vector. O tipo do item é definido pelo typename T.

Método Vector::Clear

Exclui todos os elementos no Vector atual.

Sintaxe

virtual void Clear();

Método Vector::First

Retorna um iterador que aponta para o primeiro elemento em Vector.

Sintaxe

virtual Windows::Foundation::Collections::IIterator <T>^ First();

Valor retornado

Um iterador que aponta para o primeiro elemento em Vector.

Comentários

Uma maneira conveniente de manter o iterador retornado por First() é atribuir o valor retornado a uma variável declarada com a palavra-chave de dedução do tipo auto. Por exemplo, auto x = myVector->First();. Este iterador conhece a duração da coleta.

Quando você precisar de um par de iteradores para passar a uma função STL, use as funções gratuitas Windows::Foundation::Collections::begin e Windows::Foundation::Collections::end

Método Vector::GetAt

Recupera o elemento de Vector atual que é identificado pelo índice especificado.

Sintaxe

virtual T GetAt(unsigned int index);

Parâmetros

index
Um inteiro não assinado com base zero que especifica um determinado elemento no objeto Vector.

Valor de retorno

O elemento especificado pelo parâmetro index. O tipo de elemento é definido pelo typename T.

Método Vector::GetMany

Recupera uma sequência de itens de Vector atual, começando a partir do índice especificado e os copia na matriz alocada pelo chamador.

Sintaxe

virtual unsigned int GetMany(
    unsigned int startIndex,
    Platform::WriteOnlyArray<T>^ dest);

Parâmetros

startIndex
O índice com base zero do início dos itens a serem recuperados.

dest
Uma matriz de itens alocada pelo chamador, que inicia no elemento especificado por startIndex e termina no último elemento no Vector.

Valor de retorno

O número de itens recuperados.

Comentários

Esta função não se destina a ser usada diretamente pelo código do cliente. Ela é usada internamente na Função to_vector para habilitar uma conversão eficiente das instâncias Platform::Vector em instâncias std::vector.

Método Vector::GetView

Retorna uma exibição somente leitura de um Vector; isto é, um IVectorView.

Sintaxe

Windows::Foundation::Collections::IVectorView<T>^ GetView();

Valor retornado

Um objeto IVectorView.

Método Vector::IndexOf

Procura o item especificado no vetor atual, e se encontrado, retorna o índice do item.

Sintaxe

virtual bool IndexOf(T value, unsigned int* index);

Parâmetros

value
O item a ser localizado.

index
O índice com base zero do item se o parâmetro value for encontrado; caso contrário, 0.

O parâmetro index será 0 se o item for o primeiro elemento do Vector ou se o item não for encontrado. Se o valor de retorno for true, o item foi encontrado e é o primeiro elemento; caso contrário, o item não foi encontrado.

Valor de retorno

true se o item especificado for encontrado; caso contrário, false.

Comentários

O IndexOf usa o std::find_if para encontrar o item. Tipos de elementos personalizados deverão, portanto, sobrecarregar os operadores == e != para habilitar as comparações de igualdade exigidas por find_if.

Método Vector::InsertAt

Insere o item especificado no Vector atual no elemento identificado pelo índice especificado.

Sintaxe

virtual void InsertAt(unsigned int index, T item)

Parâmetros

index
Um inteiro não assinado com base zero que especifica um determinado elemento no objeto Vector.

item
Para inserir um item no Vector após o elemento especificado por index. O tipo do item é definido pelo typename T.

Método Vector::RemoveAt

Exclui o elemento identificado pelo índice especificado do Vector atual.

Sintaxe

virtual void RemoveAt(unsigned int index);

Parâmetros

index
Um inteiro não assinado com base zero que especifica um determinado elemento no objeto Vector.

Método Vector::RemoveAtEnd

Exclui o elemento no final do Vector atual.

Sintaxe

virtual void RemoveAtEnd();

Método Vector::ReplaceAll

Exclui os elementos no Vector atual e insere os elementos da matriz especificada.

Sintaxe

virtual void ReplaceAll(const ::Platform::Array<T>^ arr);

Parâmetros

arr
Uma matriz de objetos cujo tipo é definido pelo typename T.

Método Vector::SetAt

Atribui o valor especificado ao elemento no Vector atual que é identificado pelo índice especificado.

Sintaxe

virtual void SetAt(unsigned int index, T item);

Parâmetros

index
Um inteiro não assinado com base zero que especifica um determinado elemento no objeto Vector.

item
O valor a ser atribuído ao elemento especificado. O tipo do item é definido pelo typename T.

Método Vector::Size

Retorna o número de elementos no objeto Vector atual.

Sintaxe

virtual property unsigned int Size;

Valor retornado

O número de elementos no Vector atual.

Construtor Vector::Vector

Inicializa uma nova instância da classe Vector.

Sintaxe

Vector();

explicit Vector(unsigned int size);
Vector( unsigned int size, T value);
template <typename U> explicit Vector( const ::std::vector<U>& v);
template <typename U> explicit Vector( std::vector<U>&& v);

Vector( const T * ptr, unsigned int size);
template <size_t N> explicit Vector(const T(&arr)[N]);
template <size_t N> explicit Vector(const std::array<T, N>& a);
explicit Vector(const Array<T>^ arr);

template <typename InIt> Vector(InIt first, InIt last);
Vector(std::initializer_list<T> il);

Parâmetros

a
Um std::array que será usado para inicializar o Vector.

arr
Um Platform::Array que será usado para inicializar o Vector.

InIt
O tipo de uma coleção de objetos que é usada para inicializar o Vector atual.

il
Um std::initializer_list de objetos do tipo T que será usado para inicializar o Vector.

N
O número de elementos em uma coleção de objetos que é usada para inicializar o Vector atual.

size
O número de elementos no Vector.

value
Um valor que é usado para inicializar cada elemento no Vector atual.

v
Um Lvalues e Rvalues para um std::vector que é usado para inicializar o Vector atual.

ptr
Ponteiro para um std::vector que é usado para inicializar o Vector atual.

first
O primeiro elemento em uma sequência de objetos que é usado para inicializar o Vector atual. O tipo de first é passado por meio de encaminhamento perfeito. Para obter mais informações, consulte Declarador de referência Rvalue: &&.

last
O último elemento em uma sequência de objetos que é usado para inicializar o Vector atual. O tipo de last é passado por meio de encaminhamento perfeito. Para obter mais informações, consulte Declarador de referência Rvalue: &&.

Confira também

Coleções (C++/CX)
Namespace de Plataforma
Criando componentes do Windows Runtime no C++