Compartir a través de


Platform::Collections::Vector (Clase)

Representa una colección secuencial de objetos a los que se puede tener acceso individualmente por un índice. Implementa Windows::Foundation::Collections::IObservableVector para ayudar con el enlace de datos de XAML.

Sintaxis

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

Parámetros

T
Tipo de los elementos contenidos en el objeto Vector.

E
Especifica un predicado binario para probar la igualdad con valores de tipo T. El valor predeterminado es std::equal_to<T>.

Comentarios

Los tipos permitidos son:

  1. integers

  2. clase interface^

  3. clase ref pública^

  4. value struct

  5. clase de enumeración pública

La clase Vector es la implementación concreta de C++ de la interfaz Windows::Foundation::Collections::IVector.

Si intenta usar un tipo Vector en un valor devuelto o parámetro público, se producirá el error del compilador C3986. Puedes corregir el error si cambias el tipo del parámetro o del valor devuelto a Windows::Foundation::Collections::IVector. Para obtener más información, consulta Colecciones (C++/CX).

Miembros

Constructores públicos

Nombre Descripción
Vector::Vector Inicializa una nueva instancia de la clase Vector.

Métodos públicos

Nombre Descripción
Vector::Append Inserta el elemento especificado a continuación del último elemento en el objeto Vector actual.
Vector::Clear Elimina todos los elementos del Vector actual.
Vector::First Devuelve un iterador que especifica el primer elemento del objeto Vector.
Vector::GetAt Recupera el elemento del objeto Vector actual identificado por el índice especificado.
Vector::GetMany Recupera una secuencia de elementos del objeto Vector actual, empezando en el índice especificado.
Vector::GetView Devuelve una vista de solo lectura de una clase Vector; es decir, Platform::Collections::VectorView.
Vector::IndexOf Busca el elemento especificado en el objeto Vector actual y, si lo encuentra, devuelve el índice del elemento.
Vector::InsertAt Inserta el elemento especificado en el objeto Vector actual en el elemento identificado por el índice especificado.
Vector::ReplaceAll Elimina los elementos del objeto Vector actual y después inserta los elementos de la matriz especificada.
Vector::RemoveAt Elimina el elemento identificado por el índice especificado del objeto Vector actual.
Vector::RemoveAtEnd Elimina el elemento al final del objeto Vector actual.
Vector::SetAt Asigna el valor especificado al elemento del objeto Vector actual identificado por el índice especificado.
Vector::Size Devuelve el número de elementos del objeto Vector actual.

Eventos

Nombre Descripción
event Windows::Foundation::Collection::VectorChangedEventHandler<T>^ VectorChanged Se produce cuando cambia el objeto Vector.

Jerarquía de herencia

Vector

Requisitos

Encabezado: collection.h

Espacio de nombres: Platform::Collections

Vector::Append (Método)

Inserta el elemento especificado a continuación del último elemento en el objeto Vector actual.

Sintaxis

virtual void Append(T item);

Parámetros

índice
El elemento que se va a insertar en el objeto Vector. El tipo de item se define mediante el typename T.

Vector::Clear (Método)

Elimina todos los elementos del Vector actual.

Sintaxis

virtual void Clear();

Vector::First (Método)

Devuelve un iterador que apunta al primer elemento del objeto Vector.

Sintaxis

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

Valor devuelto

Un iterador que apunta al primer elemento del objeto Vector.

Comentarios

Una manera cómoda de contener el iterador devuelto por First() es asignar el valor devuelto a una variable que se declara con la palabra clave de deducción de tipos auto. Por ejemplo, auto x = myVector->First();. El iterador conoce la longitud de la colección.

Si necesita un par de iteradores para pasar a una función STL, utilice las funciones libres Windows::Foundation::Collections::begin y Windows::Foundation::Collections::end.

Vector::GetAt (Método)

Recupera el elemento del objeto Vector actual identificado por el índice especificado.

Sintaxis

virtual T GetAt(unsigned int index);

Parámetros

índice
Entero sin signo de base cero que especifica un elemento determinado en el objeto Vector.

Valor devuelto

Elemento especificado por el parámetro index. El tipo de elemento se define mediante el typename T.

Vector::GetMany (Método)

Recupera una secuencia de elementos del objeto Vector actual, empezando en el índice especificado, y los copia en la matriz asignada por el llamador.

Sintaxis

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

Parámetros

startIndex
Índice basado en cero del principio de los elementos que se van a recuperar.

dest
Matriz de elementos asignada por el llamador que empieza con el elemento especificado por startIndex y termina con el último elemento del objeto Vector.

Valor devuelto

Número de elementos recuperados.

Comentarios

Esta función no se ha diseñado para el uso en el código de cliente. Se usa internamente en la función to_vector para habilitar la conversión eficaz de instancias Platform::Vector a instancias std::vector.

Vector::GetView (Método)

Devuelve una vista de solo lectura de un objeto Vector; es decir, una interfaz IVectorView.

Sintaxis

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

Valor devuelto

Un objeto IVectorView.

Vector::IndexOf (Método)

Busca el elemento especificado en el objeto Vector actual y, si lo encuentra, devuelve el índice del elemento.

Sintaxis

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

Parámetros

value
El elemento que se va a buscar.

índice
El índice de base cero del elemento si se encuentra el parámetro value; en caso contrario, 0.

El parámetro index es 0 si el elemento es el primer elemento del objeto Vector o no se encuentra el elemento. Si el valor devuelto es true, se encontró el elemento y es el primer elemento; de lo contrario, no se encontró el elemento.

Valor devuelto

true si se encontró el elemento especificado; de lo contrario, false.

Comentarios

IndexOf utiliza std::find_if para buscar el elemento. Por tanto, los tipos de elementos personalizados deben sobrecargar los operadores == y != para habilitar las comparaciones de igualdad que requiere find_if.

Vector::InsertAt (Método)

Inserta el elemento especificado en el objeto Vector actual en el elemento identificado por el índice especificado.

Sintaxis

virtual void InsertAt(unsigned int index, T item)

Parámetros

índice
Entero sin signo de base cero que especifica un elemento determinado en el objeto Vector.

item
Elemento que se va a insertar en el objeto Vector en el elemento especificado por index. El tipo de item se define mediante el typename T.

Vector::RemoveAt (Método)

Elimina el elemento identificado por el índice especificado del objeto Vector actual.

Sintaxis

virtual void RemoveAt(unsigned int index);

Parámetros

índice
Entero sin signo de base cero que especifica un elemento determinado en el objeto Vector.

Vector::RemoveAtEnd (Método)

Elimina el elemento al final del objeto Vector actual.

Sintaxis

virtual void RemoveAtEnd();

Vector::ReplaceAll (Método)

Elimina los elementos del objeto Vector actual y después inserta los elementos de la matriz especificada.

Sintaxis

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

Parámetros

arr
Matriz de objetos cuyo tipo está definido por el typename T.

Vector::SetAt (Método)

Asigna el valor especificado al elemento del objeto Vector actual identificado por el índice especificado.

Sintaxis

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

Parámetros

índice
Entero sin signo de base cero que especifica un elemento determinado en el objeto Vector.

item
El valor que se va a asignar al elemento especificado. El tipo de item se define mediante el typename T.

Vector::Size (Método)

Devuelve el número de elementos del objeto Vector actual.

Sintaxis

virtual property unsigned int Size;

Valor devuelto

Número de elementos del Vector actual.

Vector::Vector (Constructor)

Inicializa una nueva instancia de la clase Vector.

Sintaxis

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
Objeto std::array que se usa para inicializar la clase Vector.

arr
Objeto Platform::Array que se usa para inicializar la clase Vector.

InIt
El tipo de una colección de objetos que se utiliza para inicializar el objeto Vector actual.

il
std::initializer_list de los objetos de tipo T que se van a utilizar para inicializar la clase Vector.

N.
El número de elementos en una colección de objetos que se utiliza para inicializar el objeto Vector actual.

size
El número de elementos del objeto Vector.

value
Un valor que se utiliza para inicializar cada elemento en el objeto Vector actual.

v
Un elemento Lvalues y Rvalues a un elemento std::vector que se usa para inicializar el objeto Vector actual.

ptr
Puntero a un objeto std::vector que se usa para inicializar el objeto Vector actual.

first
El primer elemento de una secuencia de objetos que se utilizan para inicializar el objeto Vector actual. El tipo de first se pasa mediante reenvío directo. Para más información, vea Declarador de referencia a un valor R: &&.

last
El último elemento de una secuencia de objetos que se utilizan para inicializar el objeto Vector actual. El tipo de last se pasa mediante reenvío directo. Para más información, vea Declarador de referencia a un valor R: &&.

Consulte también

Colecciones (C++/CX)
Espacio de nombres de plataforma
Crear componentes de Windows Runtime en C++