|
| ~array_view () __GPU |
| Destroys this array_view and reclaims resources. More...
|
|
| array_view (array< _Value_type, _Rank > &_Src) __GPU |
| Construct an array_view which is bound to the data contained in the _Src array. The extent of the array_view is that of the _Src array, and the origin of the array view is at zero. More...
|
|
| array_view (const array_view &_Other) __GPU |
| Copy constructor. Shallow copy. More...
|
|
| array_view (const Concurrency::extent< _Rank > &_Extent) __CPU_ONLY |
| Construct an array_view which is not bound to a data source. More...
|
|
template<typename _Container > |
| array_view (const Concurrency::extent< _Rank > &_Extent, _Container &_Src) __CPU_ONLY |
| Construct an array_view which is bound to the data contained in the _Src container. More...
|
|
| array_view (const Concurrency::extent< _Rank > &_Extent, _Value_type *_Src) __GPU |
| Construct an array_view which is bound to the data pointed to by _Src. More...
|
|
| array_view (int _E0) __CPU_ONLY |
| Construct an array_view which is not bound to a data source. More...
|
|
template<typename _Container > |
| array_view (_Container &_Src, typename std::enable_if< details::_Is_container< _Container >::type::value, void ** >::type=0) __CPU_ONLY |
| Construct an array_view which is bound to the data contained in the _Src container. More...
|
|
template<typename _Container > |
| array_view (int _E0, _Container &_Src) __CPU_ONLY |
| Construct an array_view which is bound to the data contained in the _Src container. More...
|
|
| array_view (int _E0, int _E1) __CPU_ONLY |
| Construct an array_view which is not bound to a data source. More...
|
|
template<typename _Container > |
| array_view (int _E0, int _E1, _Container &_Src) __CPU_ONLY |
| Construct an array_view which is bound to the data contained in the _Src container. More...
|
|
| array_view (int _E0, int _E1, int _E2) __CPU_ONLY |
| Construct an array_view which is not bound to a data source. More...
|
|
template<typename _Container > |
| array_view (int _E0, int _E1, int _E2, _Container &_Src) __CPU_ONLY |
| Construct an array_view which is bound to the data contained in the _Src container. More...
|
|
| array_view (int _E0, _In_ _Value_type *_Src) __GPU |
| Construct an array_view which is bound to the data pointed to by _Src. More...
|
|
template<int _Size> |
| array_view (_In_ _Value_type(&_Src)[_Size]) __GPU |
| Construct an array_view which is bound to the array _Src. More...
|
|
| array_view (int _E0, int _E1, _In_ _Value_type *_Src) __GPU |
| Construct an array_view which is bound to the data pointed to by _Src. More...
|
|
| array_view (int _E0, int _E1, int _E2, _In_ _Value_type *_Src) __GPU |
| Construct an array_view which is bound to the data pointed to by _Src. More...
|
|
array_view & | operator= (const array_view &_Other) __GPU |
| Copy Assignment operator. Shallow copy. More...
|
|
void | copy_to (array< _Value_type, _Rank > &_Dest) const __CPU_ONLY |
| Copies elements from this array_view to the destination array. More...
|
|
void | copy_to (const array_view< _Value_type, _Rank > &_Dest) const __CPU_ONLY |
| Copies elements from this array_view to the destination array_view. More...
|
|
details::_Projection_result_type< _Value_type, _Rank >::_Result_type | operator[] (int _I) const __GPU |
| Projects the most-significant dimension of this array_view. If the array_view rank is 1, this produces a single element; otherwise it produces an array_view with one fewer dimensions. More...
|
|
_Value_type & | get_ref (const index< _Rank > &_Index) const __GPU |
| Get a reference to the element indexed by _Index. Unlike the other indexing operators for accessing the array_view on the CPU, this method does not implicitly synchronize this array_view's contents to the CPU. After accessing the array_view on a remote location or performing a copy operation involving this array_view users are responsible to explicitly synchronize the array_view to the CPU before calling this method. Failure to do so results in undefined behavior. More...
|
|
_Value_type & | operator[] (const index< _Rank > &_Index) const __GPU |
| Get the element value indexed by _I More...
|
|
_Value_type & | operator() (const index< _Rank > &_Index) const __GPU |
| Get the element value indexed by _I More...
|
|
details::_Projection_result_type< _Value_type, _Rank >::_Result_type | operator() (int _I) const __GPU |
| Projects the most-significant dimension of this array_view. If the array_view rank is 1, this produces a single element; otherwise it produces an array_view with one fewer dimensions. More...
|
|
_Value_type & | operator() (int _I0, int _I1) const __GPU |
| Get the element value indexed by (_I0,_I1) More...
|
|
_Value_type & | operator() (int _I0, int _I1, int _I2) const __GPU |
| Get the element value indexed by (_I0,_I1,_I2) More...
|
|
array_view | section (const Concurrency::index< _Rank > &_Section_origin, const Concurrency::extent< _Rank > &_Section_extent) const __GPU |
| Produces a subsection of the source array_view at the given origin and extent. More...
|
|
array_view | section (const Concurrency::index< _Rank > &_Idx) const __GPU |
| Produces a subsection of the source array_view with origin specified by an index, with an extent of (this->exent - _Idx). More...
|
|
array_view | section (const Concurrency::extent< _Rank > &_Ext) const __GPU |
| Produces a subsection of the source array_view with origin of zero, with an extent of _Ext. More...
|
|
array_view | section (int _I0, int _E0) const __GPU |
| Produces a one-dimensional subsection of the source array_view with origin specified by the index components _I0, with extent _E0. More...
|
|
array_view | section (int _I0, int _I1, int _E0, int _E1) const __GPU |
| Produces a two-dimensional subsection of the source array_view with origin specified by the index components (_I0,_I1), with extent (_E0,_E1). More...
|
|
array_view | section (int _I0, int _I1, int _I2, int _E0, int _E1, int _E2) const __GPU |
| Produces a three-dimensional subsection of the source array_view with origin specified by the index components (_I0,_I1,_I2), with extent (_E0,_E1,_E2). More...
|
|
template<typename _Value_type2 > |
array_view< _Value_type2, _Rank > | reinterpret_as () const __GPU |
| Produces a (possibly unsafe) reinterpretation of this array_view that is linear and with a different element type. The size of _Value_type2 must evenly divide into the size of this array. More...
|
|
template<int _New_rank> |
array_view< _Value_type, _New_rank > | view_as (const Concurrency::extent< _New_rank > &_View_extent) const __GPU |
| Produces an array_view of a different rank over this array_view's data. More...
|
|
_Ret_ _Value_type * | data () const __GPU |
| Returns a pointer to the raw data of this array_view. More...
|
|
void | refresh () const __CPU_ONLY |
| Informs the array_view that its bound memory has been modified outside the array_view interface. This will render all cached information stale. More...
|
|
concurrency::completion_future | synchronize_to_async (const accelerator_view &_Accl_view, access_type _Access_type=access_type_read) const __CPU_ONLY |
| Asynchronously synchronizes any modifications made to "this" array_view to the specified accelerator_view. More...
|
|
concurrency::completion_future | synchronize_async (access_type _Access_type=access_type_read) const __CPU_ONLY |
| Asynchronously synchronizes any modifications made to "this" array_view to its source data. More...
|
|
void | synchronize_to (const accelerator_view &_Accl_view, access_type _Access_type=access_type_read) const __CPU_ONLY |
| Synchronizes any modifications made to "this" array_view to the specified accelerator_view. More...
|
|
void | synchronize (access_type _Access_type=access_type_read) const __CPU_ONLY |
| Synchronizes any modifications made to "this" array_view to its source data. More...
|
|
void | discard_data () const __CPU_ONLY |
| Discards the current data underlying this view. This is an optimization hint to the runtime used to avoid copying the current contents of the view to a target accelerator_view that it is accessed on, and its use is recommended if the existing content is not needed. This method is only available in a restrict(cpu) context and cannot be used in a restrict(amp) context. More...
|
|
accelerator_view | get_source_accelerator_view () const |
| Returns the accelerator_view where the data source of the array_view is located. If the array_view does not have a data source, this API throws a runtime_exception More...
|
|
| __declspec (property(get=get_source_accelerator_view)) accelerator_view source_accelerator_view |
|
| ~_Array_view_base () __GPU |
|
__declspec(property(get=get_extent)) Concurrency Concurrency::extent< _Rank > | get_extent () const __GPU |
| The extent of this array or view. More...
|
|
| ~_Array_view_shape () __GPU |
|
|
| _Array_view_base () __GPU |
|
| _Array_view_base (const _Buffer_descriptor &_Buffer_desc, const _Array_view_shape< _Rank, _Element_size > &_Shape) __GPU |
|
| _Array_view_base (const _Array_view_base &_Other) __GPU |
|
| _Array_view_base (const _Array_view_base &_Other, const Concurrency::extent< _Rank > &_Array_extent) __GPU |
|
| _Array_view_base (const _Array_view_base &_Other, const Concurrency::index< _Rank > &_Section_origin, const Concurrency::extent< _Rank > &_Section_extent) __GPU |
|
| _Array_view_base (const _Buffer_descriptor &_Buffer_desc, const Concurrency::extent< _Rank > &_Array_extent) __GPU |
|
| _Array_view_base (const _Buffer_descriptor &_Buffer_desc, int _Base_linear_offset, const Concurrency::extent< _Rank > &_Array_extent) __GPU |
|
| _Array_view_base (const _Buffer_descriptor &_Buffer_desc, int _Base_linear_offset, const Concurrency::extent< _Rank > &_Array_extent, const Concurrency::index< _Rank > &_View_offset, const Concurrency::extent< _Rank > &_View_extent) __CPU_ONLY |
|
| _Array_view_base (const _Buffer_descriptor &_Buffer_desc, int _Base_linear_offset, const Concurrency::extent< _Rank > &_Array_extent, const Concurrency::index< _Rank > &_View_offset, const Concurrency::extent< _Rank > &_View_extent) __GPU_ONLY |
|
| _Array_view_base (const _Buffer_descriptor &_Buffer_desc, const Concurrency::extent< _Rank > &_Array_extent, const Concurrency::index< _Rank > &_Section_origin, const Concurrency::extent< _Rank > &_Section_extent) __GPU |
|
| _Array_view_base (const Concurrency::extent< _Rank > &_Array_extent) __CPU_ONLY |
|
| _Array_view_base (_In_ void *_Data, const Concurrency::extent< _Rank > &_Array_extent) __CPU_ONLY |
|
| _Array_view_base (_In_ void *_Data, const Concurrency::extent< _Rank > &_Array_extent) __GPU_ONLY |
|
| _Array_view_base (const void *_Data, const Concurrency::extent< _Rank > &_Array_extent) __CPU_ONLY |
|
| _Array_view_base (const void *_Data, const Concurrency::extent< _Rank > &_Array_extent) __GPU_ONLY |
|
_Array_view_base & | operator= (const _Array_view_base &_Other) __GPU |
|
_Ret_ void * | _Access (const index< _Rank > &_Index) const __GPU |
|
_Ret_ void * | _Access (_Access_mode _Requested_mode, const index< _Rank > &_Index) const __CPU_ONLY |
|
_Ret_ void * | _Access (_Access_mode, const index< _Rank > &_Index) const __GPU_ONLY |
|
_Array_view_base | _Section (const Concurrency::index< _Rank > &_Section_origin, const Concurrency::extent< _Rank > &_Section_extent) const __GPU |
|
_Array_view_base | _Section (const index< _Rank > &_Idx) const __GPU |
|
void | _Project0 (int _I, _Array_view_base< _Rank-1, _Element_size > &_Projected_view) const __GPU |
|
_Array_view_base< _Rank, _New_element_size > | _Reinterpret_as () const __GPU |
|
_Array_view_base< _New_rank, _Element_size > | _View_as (const Concurrency::extent< _New_rank > &_View_extent) const __GPU |
|
_Ret_ _View_shape * | _Create_buffer_view_shape () const __CPU_ONLY |
|
int | _Base_linear_offset () const __GPU |
|
| _Array_view_shape (const _Array_view_shape &_Other) __GPU |
|
| _Array_view_shape (const _Array_view_shape &_Other, const Concurrency::index< _Rank > &_Section_origin, const Concurrency::extent< _Rank > &_Section_extent) __GPU |
|
| _Array_view_shape (int _Base_linear_offset, const Concurrency::extent< _Rank > &_Array_extent) __GPU |
|
| _Array_view_shape (int _Base_linear_offset, const Concurrency::extent< _Rank > &_Array_extent, const Concurrency::index< _Rank > &_Section_origin, const Concurrency::extent< _Rank > &_Section_extent) __GPU |
|
_Array_view_shape & | operator= (const _Array_view_shape &_Other) __GPU |
|
void | _Project0 (int _I, _Array_view_shape< _Rank-1, _Element_size > &_Projected_shape) const __GPU |
|
| _Array_view_shape () __GPU |
|
_Buffer_descriptor | _M_buffer_descriptor |
|
Concurrency::extent< _Rank > | _M_array_extent |
|
Concurrency::extent< _Rank > | _M_array_multiplier |
|
Concurrency::index< _Rank > | _M_view_offset |
|
int | _M_total_linear_offset |
|
Concurrency::extent< _Rank > | _M_view_extent |
|
template<typename _Value_type, int _Rank = 1>
class Concurrency::array_view< _Value_type, _Rank >
An array_view is an N-dimensional view over data held in another container (such as array<T,N> or other container. It exposes an indexing interface congruent to that of array<T,N>).
- Parameters
-
_Rank | The number of dimensions of this array_view. |
_Value_type | The type of the element. |