| 
|   | ~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.  |