extent 类 (C++ AMP)

Represents a vector of N integer values that specify the bounds of an N-dimensional space that has an origin of 0. 向量中的值按从最高有效到最低有效的顺序排列。

Syntax

template <int _Rank>
class extent;

Parameters

_Rank
extent 对象的排名。

Requirements

Header: amp.h

Namespace: Concurrency

Members

Public Constructors

Name Description
extent Constructor 初始化 extent 类的新实例。

Public Methods

Name Description
contains 验证指定的 extent 对象是否具有指定的排名。
size 返回盘区的总线性大小(以元素单位)。
tile 生成具有指定维度提供的磁贴盘区的 tiled_extent 对象。

Public Operators

Name Description
operator- 返回通过从相应的 extent 元素减去 index 元素而创建的新 extent 对象。
operator-- 递减 extent 对象的每个元素。
operator%= 在元素除以某个数时,计算 extent 对象中每个元素的模数(余数)。
operator*= extent 对象的每个元素与某个数相乘。
operator/= extent 对象的每个元素除以某个数。
extent::operator[] 返回位于指定索引处的元素。
operator+ 返回通过添加相应的 extentindex 元素创建的新 extent 对象。
operator++ 递增 extent 对象的每个元素。
operator+= extent 对象的每个元素增加指定数字。
operator= 将另一 extent 对象的内容复制到此对象。
operator-= extent 对象的每个元素中减去指定的数字。

Public Constants

Name Description
rank Constant 获取 extent 对象的排名。

Inheritance Hierarchy

extent

contains

Indicates whether the specified index value is contained within the extent object.

Syntax

bool contains(const index<rank>& _Index) const restrict(amp,cpu);

Parameters

_Index
要测试的 index 值。

Return Value

true if the specified index value is contained in the extent object; otherwise, false.

盘区

初始化 extent 类的新实例。

Syntax

extent() restrict(amp,cpu);
extent(const extent<_Rank>& _Other) restrict(amp,cpu);
explicit extent(int _I) restrict(amp,cpu);
extent(int _I0,  int _I1) restrict(amp,cpu);
extent(int _I0,  int _I1, int _I2) restrict(amp,cpu);
explicit extent(const int _Array[_Rank])restrict(amp,cpu);

Parameters

_Array
用于创建新 _Rank 对象的 extent 整数数组。

_I
盘区的长度。

_I0
最高有效维度的长度。

_I1
仅次于最高有效维度的长度。

_I2
最低有效维度的长度。

_Other
extent 对象所基于的 extent 对象。

Remarks

默认构造函数会初始化排名为 3 的 extent 对象。

如果使用数组构造 extent 对象,则该数组的长度必须与 extent 对象的排名匹配。

operator%=

在元素除以某个数时,计算 extent 中每个元素的模数(余数)。

Syntax

extent<_Rank>& operator%=(int _Rhs) restrict(cpu, direct3d);

Parameters

_Rhs
要查找其模数的数字。

Return Value

extent 对象。

operator*=

extent 对象中的每个元素乘以指定数字。

Syntax

extent<_Rank>& operator*=(int _Rhs) restrict(amp,cpu);

Parameters

_Rhs
要相乘的数字。

Return Value

extent 对象。

operator+

返回通过添加相应的 extentindex 元素创建的新 extent 对象。

Syntax

extent<_Rank> operator+(const index<_Rank>& _Rhs) restrict(amp,cpu);

Parameters

_Rhs
包含要添加的元素的 index 对象。

Return Value

新的 extent 对象。

operator++

递增 extent 对象的每个元素。

Syntax

extent<_Rank>& operator++() restrict(amp,cpu);
extent<_Rank> operator++(int)restrict(amp,cpu);

Return Value

对于前缀运算符,是 extent 对象 (*this)。 对于后缀运算符,则是新的 extent 对象。

operator+=

extent 对象的每个元素增加指定数字。

Syntax

extent<_Rank>& operator+=(const extent<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator+=(const index<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator+=(int _Rhs) restrict(amp,cpu);

Parameters

_Rhs
要添加的数字、索引或盘区。

Return Value

生成的 extent 对象。

operator-

通过从此 extent 对象中的相应元素中减去指定 index 对象中的每个元素来创建新的 extent 对象。

Syntax

extent<_Rank> operator-(const index<_Rank>& _Rhs) restrict(amp,cpu);

Parameters

_Rhs
包含要减去的元素的 index 对象。

Return Value

新的 extent 对象。

operator--

递减 extent 对象中的每个元素。

Syntax

extent<_Rank>& operator--() restrict(amp,cpu);
extent<_Rank> operator--(int)restrict(amp,cpu);

Return Value

对于前缀运算符,是 extent 对象 (*this)。 对于后缀运算符,则是新的 extent 对象。

operator/=

extent 对象中的每个元素除以指定的数字。

Syntax

extent<_Rank>& operator/=(int _Rhs) restrict(amp,cpu);

Parameters

_Rhs
要除以的数字。

Return Value

extent 对象。

operator-=

extent 对象的每个元素中减去指定的数字。

Syntax

extent<_Rank>& operator-=(const extent<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator-=(const index<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator-=(int _Rhs) restrict(amp,cpu);

Parameters

_Rhs
要减去的数。

Return Value

生成的 extent 对象。

operator=

将另一 extent 对象的内容复制到此对象。

Syntax

extent<_Rank>& operator=(const extent<_Rank>& _Other) restrict(amp,cpu);

Parameters

_Other
要从其复制的 extent 对象。

Return Value

对此 extent 对象的引用。

extent::operator []

返回位于指定索引处的元素。

Syntax

int operator[](unsigned int _Index) const restrict(amp,cpu);
int& operator[](unsigned int _Index) restrict(amp,cpu);

Parameters

_Index
0 到秩减 1 之间的整数。

Return Value

位于指定索引处的元素。

级别

存储 extent 对象的秩。

Syntax

static const int rank = _Rank;

size

返回 extent 对象的总线性大小(以元素单位)。

Syntax

unsigned int size() const restrict(amp,cpu);

图块

生成具有指定磁贴维度的 tiled_extent 对象。

template <int _Dim0>
tiled_extent<_Dim0> tile() const ;

template <int _Dim0, int _Dim1>
tiled_extent<_Dim0, _Dim1> tile() const ;

template <int _Dim0, int _Dim1, int _Dim2>
tiled_extent<_Dim0, _Dim1, _Dim2> tile() const ;

Parameters

_Dim0
磁贴盘区中最重要的组件。

_Dim1
磁贴盘区中仅次于最重要组件的组件。

_Dim2
磁贴盘区中最不重要的组件。

See also

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