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;

另请参阅

并发命名空间 (C++ AMP)