Поделиться через


Класс Platform::Collections::VectorView

Представляет доступное только для чтения представление упорядоченной коллекции объектов, в которой возможен доступ к каждому отдельному объекту по его индексу. Тип каждого объекта в коллекции задается параметром шаблона.

Синтаксис

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

Параметры

T
Тип элементов, содержащихся в объекте VectorView .

E
Определяет бинарный предикат для проверки равенства со значениями типа T. Значение по умолчанию — std::equal_to<T>.

Замечания

Класс VectorView реализует интерфейс Windows::Foundation::Collections::IVectorView<T> и поддержку итераторов стандартной библиотеки шаблонов.

Участники

Открытые конструкторы

Имя Описание
VectorView::VectorView Инициализирует новый экземпляр класса VectorView.

Открытые методы

Имя Описание
VectorView::First Возвращает итератор, указывающий первый элемент объекта VectorView.
VectorView::GetAt Извлекает элемент текущего VectorView, указанный заданным индексом.
VectorView::GetMany Извлекает последовательность элементов из текущего объекта VectorView, начиная с указанного индекса.
VectorView::IndexOf Выполняет поиск указанного элемента в текущем объекте VectorView и возвращает его индекс, если он найден.
VectorView::Size Возвращает количество элементов в текущем объекте VectorView.

Иерархия наследования

VectorView

Requirements

Заголовок: collection.h

Пространство имен: Platform::Collections

Метод VectorView::First

Возвращает итератор, указывающий первый элемент объекта VectorView.

Синтаксис

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

Возвращаемое значение

Итератор, указывающий первый элемент объекта VectorView.

Замечания

Удобный способ хранения итератора, возвращаемого First(), заключается в назначении возвращаемого значения переменной, объявленной с auto вычетом типов ключевое слово. Например, auto x = myVectorView->First();.

Метод VectorView::GetAt

Извлекает элемент текущего VectorView, указанный заданным индексом.

Синтаксис

T GetAt(
   UInt32 index
);

Параметры

index
Целое значение без знака, отсчитываемое от нуля, которое указывает определенный элемент в объекте VectorView.

Возвращаемое значение

Элемент, заданный параметром index. Тип элемента указывается параметром шаблона VectorView, T.

Метод VectorView::GetMany

Извлекает последовательность элементов из текущего объекта VectorView, начиная с указанного индекса.

Синтаксис

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

Параметры

startIndex
Отсчитываемый от нуля индекс начала элементов для извлечения.

dest
Когда эта операция завершается, массив элементов начинается с элемента, заданного startIndex, и заканчивается последним элементом объекта VectorView.

Возвращаемое значение

Количество извлеченных элементов.

Метод VectorView::IndexOf

Выполняет поиск указанного элемента в текущем объекте VectorView и возвращает его индекс, если он найден.

Синтаксис

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

Параметры

значение
Элемент, который нужно найти.

index
Отсчитываемый от нуля индекс элемента, если параметр value найден; в противном случае — 0.

Параметр индекса равен 0, если элемент является первым элементом VectorView элемента или элемент не найден. Если возвращаемое значение равно true, элемент найден и является первым элементом; в противном случае элемент не найден.

Возвращаемое значение

true Значение falseв противном случае .

Метод VectorView::Size

Возвращает количество элементов в текущем объекте VectorView.

Синтаксис

virtual property unsigned int Size;

Возвращаемое значение

Количество элементов в текущем объекте VectorView.

Конструктор VectorView::VectorView

Инициализирует новый экземпляр класса VectorView.

Синтаксис

VectorView();
explicit VectorView(
   UInt32 size
);
VectorView(
   UInt32 size,
   T value
);
explicit VectorView(
   const ::std::vector<T>& v
);
explicit VectorView(
   ::std::vector<T>&& v
);
VectorView(
   const T * ptr,
   UInt32 size
);

template <
   size_t N
>
explicit VectorView(
   const T (&arr)[N]
);

template <
   size_t N
>
explicit VectorView(
   const ::std::array<T,
   N>& a
);

explicit VectorView(
   const ::Platform::Array<T>^ arr
);

template <
   typename InIt
>
VectorView(
   InItfirst,
   InItlast
);

VectorView(
   std::initializer_list<T> il
);

Параметры

Init
Тип коллекции объектов, используемой для инициализации текущего объекта VectorView.

Il
Std ::initializer_list , элементы которого будут использоваться для инициализации VectorView.

N
Количество элементов в коллекции объектов, используемой для инициализации текущего объекта VectorView.

size
Количество элементов в объекте VectorView.

значение
Значение, используемое для инициализации каждого элемента в текущем объекте VectorView.

v
Lvalues и Rvalues to a std::vector , который используется для инициализации текущего VectorView.

ptr
Указатель на объект std::vector, используемый для инициализации текущего объекта VectorView.

Arr
Объект Platform::Array, используемый для инициализации текущего VectorView.

a
Объект std::array, используемый для инициализации текущего VectorView.

first
Первый элемент в последовательности объектов, используемых для инициализации текущего объекта VectorView. Тип first передается с помощью идеальной пересылки. Дополнительные сведения см. в статье Декларатор ссылки Rvalue: &&.

last
Последний элемент в последовательности объектов, используемых для инициализации текущего объекта VectorView. Тип last передается с помощью идеальной пересылки. Дополнительные сведения см. в статье Декларатор ссылки Rvalue: &&.

См. также

Пространство имен платформы
Создание компонентов среды выполнения Windows на C++