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
要求
标头: 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
);
参数
value
要查找的项。
索引
如果找到参数 value
,则为该项的从零开始的索引;否则,为 0。
如果该项目是 VectorView
的第一个元素,或者未找到该项目,则 index 参数为 0。 如果返回值为 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
其中元素将用于初始化 VectorView 的 std::initializer_list。
N
用于初始化当前 VectorView 的对象集合中元素的数量。
size
VectorView 中元素的数量。
value
用于初始化当前 VectorView 中每个元素的值。
v
对用于初始化当前 VectorView 的 std::vector 的左值和右值。
ptr
指向用于初始化当前 VectorView 的 std::vector
的指针。
arr
用于初始化当前 VectorView 的 Platform::Array 对象。
a
用于初始化当前 VectorView 的 std::array 对象。
first
用于初始化当前 VectorView 的对象序列中的第一个元素。 first
的类型通过完美转移传递。 有关详细信息,请参阅右值引用声明符:&&。
last
用于初始化当前 VectorView 的对象序列中的最后一个元素。 last
的类型通过完美转移传递。 有关详细信息,请参阅右值引用声明符:&&。