index 类
定义一个 N 维索引向量。
语法
template <int _Rank>
class index;
参数
_Rank
秩或维数。
成员
公共构造函数
名称 | 描述 |
---|---|
index 构造函数 | 初始化 index 类的新实例。 |
公共运算符
“属性” | 描述 |
---|---|
operator-- | 递减 index 对象的每个元素。 |
operator%= | 在元素除以某个数时,计算 index 对象中每个元素的模数(余数)。 |
operator*= | 将 index 对象的每个元素与某个数相乘。 |
operator/= | 将 index 对象的每个元素除以某个数。 |
index::operator[] | 返回位于指定索引处的元素。 |
operator++ | 递增 index 对象的每个元素。 |
operator+= | 向 index 对象的每个元素增加指定数字。 |
operator= | 将指定 index 对象的内容复制到此对象中。 |
operator-= | 从 index 对象的每个元素中减去指定的数字。 |
公共常量
“属性” | 描述 |
---|---|
rank 常量 | 存储 index 对象的秩。 |
继承层次结构
index
注解
index
结构表示在表示 N 个整数的坐标向量,用于指定 N 维空间中的唯一位置。 向量中的值按从最高有效到最低有效的顺序排列。 可以使用 operator= 检索组件的值。
要求
标头: amp.h
命名空间: 并发
index 构造函数
初始化 index 类的新实例。
index() restrict(amp,cpu);
index(
const index<_Rank>& _Other
) restrict(amp,cpu);
explicit index(
int _I
) restrict(amp,cpu);
index(
int _I0,
int _I1
) restrict(amp,cpu);
index(
int _I0,
int _I1,
int _I2
) restrict(amp,cpu);
explicit index(
const int _Array[_Rank]
) restrict(amp,cpu);
参数
_Array
具有秩值的一维数组。
_I
一维索引中的索引位置。
_I0
最高有效维度的长度。
_I1
仅次于最高有效维度的长度。
_I2
最低有效维度的长度。
_Other
新索引对象所基于的索引对象。
operator--
递减索引对象的每个元素。
index<_Rank>& operator--() restrict(amp,cpu);
index operator--(
int
) restrict(amp,cpu);
返回值
对于前缀运算符,是索引对象 (*this
)。 对于后缀运算符,则是新的索引对象。
operator%=
在元素被某个指定的数除时,计算 index 对象中每个元素的模数(余数)。
index<_Rank>& operator%=(
int _Rhs
) restrict(cpu, amp);
参数
_Rhs
要通过除法查找模数的数字。
返回值
The index 对象。
operator*=
将索引对象中的每个元素乘以指定数字。
index<_Rank>& operator*=(
int _Rhs
) restrict(amp,cpu);
参数
_Rhs
要相乘的数字。
operator/=
将索引对象中的每个元素除以指定的数字。
index<_Rank>& operator/=(
int _Rhs
) restrict(amp,cpu);
参数
_Rhs
要除以的数字。
operator[]
返回位于指定位置处的索引的组件。
int operator[] (
unsigned _Index
) const restrict(amp,cpu);
int& operator[] (
unsigned _Index
) restrict(amp,cpu);
参数
_Index
0 到秩减 1 之间的整数。
返回值
位于指定索引处的元素。
注解
下面的示例显示索引的组件值。
// Prints 1 2 3.
concurrency::index<3> idx(1, 2, 3);
std::cout << idx[0] << "\n";
std::cout << idx[1] << "\n";
std::cout << idx[2] << "\n";
operator++
递增索引对象的每个元素。
index<_Rank>& operator++() restrict(amp,cpu);
index<_Rank> operator++(
int
) restrict(amp,cpu);
返回值
对于前缀运算符,是索引对象 (*this
)。 对于后缀运算符,则是新的索引对象。
运算符 +=
向索引对象的每个元素增加指定数字。
index<_Rank>& operator+=(
const index<_Rank>& _Rhs
) restrict(amp,cpu);
index<_Rank>& operator+=(
int _Rhs
) restrict(amp,cpu);
参数
_Rhs
要增加的数字。
返回值
The index 对象。
operator=
将指定索引对象的内容复制到此对象中。
index<_Rank>& operator=(
const index<_Rank>& _Other
) restrict(amp,cpu);
参数
_Other
要从其中复制的索引对象。
返回值
对此索引对象的引用。
operator-=
从索引对象的每个元素中减去指定的数字。
index<_Rank>& operator-=(
const index<_Rank>& _Rhs
) restrict(amp,cpu);
index<_Rank>& operator-=(
int _Rhs
) restrict(amp,cpu);
参数
_Rhs
要减去的数。
返回值
The index 对象。
级别
获取 index 对象的秩。
static const int rank = _Rank;