Класс Platform::Collections::Vector
Представляет упорядоченную коллекцию объектов с индивидуальным доступом, осуществляемым при помощи индекса. Реализует Windows::Foundation::Collections::IObservableVector, чтобы помочь с привязкой данных XAML.
Синтаксис
template <typename T, typename E>
ref class Vector sealed;
Параметры
T
Тип элементов, содержащихся в объекте Vector.
E
Задает двоичный предикат для тестирования равенства со значениями типа T. Значение по умолчанию — std::equal_to<T>
.
Замечания
Допустимые типы:
integers
класс интерфейса^
открытый ссылочный класс ^
value struct
открытый класс перечисления
Класс Vector — это конкретная реализация интерфейса Windows::Foundation::Collections::IVector .
Если вы пытаетесь использовать тип Vector в общедоступном возвращаемом значении или параметре, возникает ошибка компилятора C3986. Вы можете исправить ошибку, изменив тип параметра или возвращаемого значения на Windows::Foundation::Collections::IVector. Дополнительные сведения см. в разделе Collections (C++/CX).
Участники
Открытые конструкторы
Имя | Описание |
---|---|
Vector::Vector | Инициализирует новый экземпляр класса Vector. |
Открытые методы
Имя | Описание |
---|---|
Vector::Append | Вставляет указанный элемент после последнего элемента текущего объекта Vector. |
Vector::Clear | Удаляет все элементы текущего объекта Vector. |
Vector::First | Возвращает итератор, указывающий первый элемент объекта Vector. |
Vector::GetAt | Извлекает элемент текущего объекта Vector, указанный заданным индексом. |
Vector::GetMany | Извлекает последовательность элементов из текущего объекта Vector, начиная с указанного индекса. |
Vector::GetView | Возвращает доступное только для чтения представление объекта Vector, то есть Platform::Collections::VectorView. |
Vector::IndexOf | Выполняет поиск указанного элемента в текущем объекте Vector и возвращает его индекс, если он найден. |
Vector::InsertAt | Вставляет указанный элемент в текущий вектор в элементе, определяемом указанным индексом. |
Vector::ReplaceAll | Удаляет элементы из текущего объекта Vector, а затем вставляет элементы из указанного массива. |
Vector::RemoveAt | Удаляет элемент, определенный заданным индексом из текущего объекта Vector. |
Vector::RemoveAtEnd | Удаляет элемент в конце текущего объекта Vector. |
Vector::SetAt | Присваивает указанное значение к элементу текущего объекта Vector, определяемому заданным индексом. |
Vector::Size | Возвращает количество элементов в текущем объекте Vector. |
События
Имя | Описание |
---|---|
event Windows::Foundation::Collection::VectorChangedEventHandler<T>^ VectorChanged | Происходит при изменении объекта Vector. |
Иерархия наследования
Vector
Требования
Заголовок: collection.h
Пространство имен: Platform::Collections
Метод Vector::Append
Вставляет указанный элемент после последнего элемента текущего объекта Vector.
Синтаксис
virtual void Append(T item);
Параметры
index
Элемент, который требуется вставить в объект Vector. Тип элемента определяется именем типа T .
Метод Vector::Clear
Удаляет все элементы текущего объекта Vector.
Синтаксис
virtual void Clear();
Метод Vector::First
Возвращает итератор, указывающий первый элемент объекта Vector.
Синтаксис
virtual Windows::Foundation::Collections::IIterator <T>^ First();
Возвращаемое значение
Итератор, указывающий первый элемент объекта Vector.
Замечания
Удобный способ хранения итератора, возвращаемого First(), — назначить возвращаемое значение переменной, объявленной с ключевым словом вычета auto
типов. Например, auto x = myVector->First();
. Этому итератору известна длина коллекции.
Если требуется пара итераторов для передачи функции STL, используйте бесплатные функции Windows::Foundation::Collections::begin и Windows::Foundation::Foundation::Collections:end
Метод Vector::GetAt
Извлекает элемент текущего объекта Vector, указанный заданным индексом.
Синтаксис
virtual T GetAt(unsigned int index);
Параметры
index
Целое значение без знака, отсчитываемое от нуля, которое указывает определенный элемент в объекте Vector.
Возвращаемое значение
Элемент, указанный параметром индекса . Тип элемента определяется именем типа T .
Метод Vector::GetMany
Извлекает последовательность элементов из текущего объекта Vector, начиная с определенного индекса, и копирует их в выделенный вызывающим объектом массив.
Синтаксис
virtual unsigned int GetMany(
unsigned int startIndex,
Platform::WriteOnlyArray<T>^ dest);
Параметры
startIndex
Отсчитываемый от нуля индекс начала элементов для извлечения.
dest
Выделенный вызывающим массив элементов, начинающийся с элемента, заданного startIndex и заканчивающийся последним элементом в Vector.
Возвращаемое значение
Количество извлеченных элементов.
Замечания
Эта функция не предназначена для прямого использования в клиентском коде. Он используется внутри функции to_vector для обеспечения эффективного преобразования экземпляров Platform::Vector intances в std::vector.
Метод Vector::GetView
Возвращает доступное только для чтения представление объекта Vector, то есть интерфейс IVectorView.
Синтаксис
Windows::Foundation::Collections::IVectorView<T>^ GetView();
Возвращаемое значение
Объект IVectorView.
Метод Vector::IndexOf
Выполняет поиск указанного элемента в текущем объекте Vector и возвращает его индекс, если он найден.
Синтаксис
virtual bool IndexOf(T value, unsigned int* index);
Параметры
значение
Элемент, который нужно найти.
index
Отсчитываемый от нуля индекс элемента, если найдено значение параметра; в противном случае — значение 0.
Параметр индекса равен 0, если элемент является первым элементом Vector или элементом не найден. Если возвращаемое значение равно true
, элемент найден и является первым элементом; в противном случае элемент не найден.
Возвращаемое значение
true
Значение false
в противном случае .
Замечания
IndexOf использует std::find_if для поиска элемента. Таким образом, типы настраиваемых элементов должны перегрузить оператор == и != для включения сравнений на равенство, которое требуется для find_if.
Метод Vector::InsertAt
Вставляет указанный элемент в текущий вектор в элементе, определяемом указанным индексом.
Синтаксис
virtual void InsertAt(unsigned int index, T item)
Параметры
index
Целое значение без знака, отсчитываемое от нуля, которое указывает определенный элемент в объекте Vector.
item
Элемент, вставляемый в Vector по элементу, указанному индексом. Тип элемента определяется именем типа T .
Метод Vector::RemoveAt
Удаляет элемент, определенный заданным индексом из текущего объекта Vector.
Синтаксис
virtual void RemoveAt(unsigned int index);
Параметры
index
Целое значение без знака, отсчитываемое от нуля, которое указывает определенный элемент в объекте Vector.
Метод Vector::RemoveAtEnd
Удаляет элемент в конце текущего объекта Vector.
Синтаксис
virtual void RemoveAtEnd();
Метод Vector::ReplaceAll
Удаляет элементы из текущего объекта Vector, а затем вставляет элементы из указанного массива.
Синтаксис
virtual void ReplaceAll(const ::Platform::Array<T>^ arr);
Параметры
arr
Массив объектов, тип которого определяется именем типа T .
Метод Vector::SetAt
Присваивает указанное значение к элементу текущего объекта Vector, определяемому заданным индексом.
Синтаксис
virtual void SetAt(unsigned int index, T item);
Параметры
index
Целое значение без знака, отсчитываемое от нуля, которое указывает определенный элемент в объекте Vector.
item
Значение, присваиваемое указанному элементу. Тип элемента определяется именем типа T .
Метод Vector::Size
Возвращает количество элементов в текущем объекте Vector.
Синтаксис
virtual property unsigned int Size;
Возвращаемое значение
Количество элементов в текущем объекте Vector.
Конструктор Vector::Vector
Инициализирует новый экземпляр класса Vector.
Синтаксис
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);
Параметры
a
Массив std::, который будет использоваться для инициализации вектора.
arr
Платформа ::Массив , который будет использоваться для инициализации вектора.
InIt
Тип коллекции объектов, используемой для инициализации текущего объекта Vector.
il
Std ::initializer_list объектов типа T , который будет использоваться для инициализации вектора.
N
Количество элементов в коллекции объектов, используемой для инициализации текущего объекта Vector.
size
Количество элементов в объекте Vector.
значение
Значение, используемое для инициализации каждого элемента в текущем объекте Vector.
v
Lvalues и Rvalues to a std::vector , который используется для инициализации текущего вектора.
ptr
Указатель на объект std::vector
, используемый для инициализации текущего объекта Vector.
first
Первый элемент в последовательности объектов, используемых для инициализации текущего объекта Vector. Тип первого передается с помощью идеальной пересылки. Дополнительные сведения см. в статье Декларатор ссылки Rvalue: &&.
last
Последний элемент в последовательности объектов, используемых для инициализации текущего объекта Vector. Тип последнего передается с помощью идеальной пересылки. Дополнительные сведения см. в статье Декларатор ссылки Rvalue: &&.
См. также
Коллекции (C++/CX)
Пространство имен платформы
Создание компонентов среды выполнения Windows на C++