Simple data structure which provides a non-owning encapsulation of N-dimensional array data.  
 More...
 | 
| 
using  | ConstViewType = NDArrayView< std::add_const_t< ValueType >, DeviceType, IndexerType, PermutationType > | 
|   | Compatible constant NDArrayView type. 
  | 
| 
using  | DeviceType = Device | 
|   | Type of the device used for running operations on the array. 
  | 
| 
using  | IndexerType = Indexer | 
|   | Type of the N-dimensional indexer, NDArrayIndexer. 
  | 
| 
using  | IndexType = typename Indexer::IndexType | 
|   | Type of indices used for addressing the array elements. 
  | 
| 
using  | OverlapsType = typename Indexer::OverlapsType | 
|   | Sequence of integers representing the overlaps in each dimension of a distributed N-dimensional array. 
  | 
| 
using  | PermutationType = Permutation | 
|   | Permutation that determines the internal memory layout of the N-dimensional array. 
  | 
| 
using  | SizesHolderType = typename Indexer::SizesHolderType | 
|   | Type of the underlying object which represents the sizes of the N-dimensional array. 
  | 
| 
using  | StridesHolderType = typename Indexer::StridesHolderType | 
|   | Type of the base class which represents the strides of the N-dimensional array. 
  | 
| 
using  | ValueType = Value | 
|   | Type of the values stored in the array. 
  | 
| 
using  | ViewType = NDArrayView< ValueType, DeviceType, IndexerType, PermutationType > | 
|   | Compatible NDArrayView type. 
  | 
 | 
| 
__cuda_callable__  | NDArrayView ()=default | 
|   | Constructs an array view with zero size. 
  | 
| __cuda_callable__  | NDArrayView (const NDArrayView &)=default | 
|   | A shallow-copy copy-constructor.  
  | 
| 
__cuda_callable__  | NDArrayView (NDArrayView &&) noexcept=default | 
|   | Move constructor for initialization from rvalues. 
  | 
| 
__cuda_callable__  | NDArrayView (Value *data, IndexerType indexer) | 
|   | Constructs an array view initialized by a raw data pointer and an indexer. 
  | 
| 
__cuda_callable__  | NDArrayView (Value *data, SizesHolderType sizes, StridesHolderType strides=StridesHolderType{}, OverlapsType overlaps=OverlapsType{}) | 
|   | Constructs an array view initialized by a raw data pointer, sizes, strides and overlaps. 
  | 
| 
__cuda_callable__ void  | bind (NDArrayView view) | 
|   | Re-binds (re-initializes) the array view to a different view. 
  | 
| 
__cuda_callable__ void  | bind (Value *data) | 
|   | Re-binds (re-initializes) the array view to the given raw pointer and preserves the current indexer. 
  | 
| 
__cuda_callable__ void  | bind (Value *data, IndexerType indexer) | 
|   | Re-binds (re-initializes) the array view to the given raw pointer and changes the indexer. 
  | 
| template<typename Device2 = DeviceType, typename Func>  | 
| void  | forAll (Func f, const typename Device2::LaunchConfiguration &launch_configuration=typename Device2::LaunchConfiguration{}) const | 
|   | Evaluates the function f in parallel for all elements of the array view.  
  | 
| template<typename Device2 = DeviceType, typename SkipBegins, typename SkipEnds, typename Func>  | 
| void  | forBoundary (const SkipBegins &skipBegins, const SkipEnds &skipEnds, Func f, const typename Device2::LaunchConfiguration &launch_configuration=typename Device2::LaunchConfiguration{}) const | 
|   | Evaluates the function f in parallel for all elements of the array view outside the N-dimensional interval [skipBegins, skipEnds).  
  | 
| template<typename Device2 = DeviceType, typename Func>  | 
| void  | forBoundary (Func f, const typename Device2::LaunchConfiguration &launch_configuration=typename Device2::LaunchConfiguration{}) const | 
|   | Evaluates the function f in parallel for all boundary elements of the array view.  
  | 
| template<typename Device2 = DeviceType, typename Begins, typename Ends, typename Func>  | 
| void  | forInterior (const Begins &begins, const Ends &ends, Func f, const typename Device2::LaunchConfiguration &launch_configuration=typename Device2::LaunchConfiguration{}) const | 
|   | Evaluates the function f in parallel for all elements of the array view inside the N-dimensional interval [begins, ends).  
  | 
| template<typename Device2 = DeviceType, typename Func>  | 
| void  | forInterior (Func f, const typename Device2::LaunchConfiguration &launch_configuration=typename Device2::LaunchConfiguration{}) const | 
|   | Evaluates the function f in parallel for all internal elements of the array view.  
  | 
| 
__cuda_callable__ ConstViewType  | getConstView () const | 
|   | Returns a non-modifiable view of the array. 
  | 
| 
__cuda_callable__ ValueType *  | getData () | 
|   | Returns a raw pointer to the data. 
  | 
| 
__cuda_callable__ std::add_const_t< ValueType > *  | getData () const | 
|   | Returns a const-qualified raw pointer to the data. 
  | 
| 
__cuda_callable__ const IndexerType &  | getIndexer () const | 
|   | Returns a const-qualified reference to the underlying indexer. 
  | 
| template<std::size_t... Dimensions, typename... IndexTypes>  | 
| __cuda_callable__ auto  | getSubarrayView (IndexTypes &&... indices) | 
|   | Returns a modifiable view of a subarray.  
  | 
| 
__cuda_callable__ ViewType  | getView () | 
|   | Returns a modifiable view of the array. 
  | 
| 
TNL_NVCC_HD_WARNING_DISABLE __cuda_callable__ bool  | operator!= (const NDArrayView &other) const | 
|   | Compares the array view with another N-dimensional array view. 
  | 
| template<typename... IndexTypes>  | 
| __cuda_callable__ ValueType &  | operator() (IndexTypes &&... indices) | 
|   | Accesses an element of the array.  
  | 
| template<typename... IndexTypes>  | 
| __cuda_callable__ const ValueType &  | operator() (IndexTypes &&... indices) const | 
|   | Accesses an element of the array.  
  | 
| TNL_NVCC_HD_WARNING_DISABLE __cuda_callable__ NDArrayView &  | operator= (const NDArrayView &other) | 
|   | Copy-assignment operator for deep-copying data from another array.  
  | 
| 
template<typename OtherView>  | 
| TNL_NVCC_HD_WARNING_DISABLE __cuda_callable__ NDArrayView &  | operator= (const OtherView &other) | 
|   | Templated copy-assignment operator for deep-copying data from another array. 
  | 
| 
TNL_NVCC_HD_WARNING_DISABLE __cuda_callable__ bool  | operator== (const NDArrayView &other) const | 
|   | Compares the array view with another N-dimensional array view. 
  | 
| __cuda_callable__ ValueType &  | operator[] (IndexType &&index) | 
|   | Accesses an element in a one-dimensional array.  
  | 
| __cuda_callable__ const ValueType &  | operator[] (IndexType index) const | 
|   | Accesses an element in a one-dimensional array.  
  | 
| 
__cuda_callable__ void  | reset () | 
|   | Resets the array view to the empty state. 
  | 
template<typename Value, typename Device, typename Indexer, typename Permutation>
class TNL::Containers::NDArrayView< Value, Device, Indexer, Permutation >
Simple data structure which provides a non-owning encapsulation of N-dimensional array data. 
- Template Parameters
 - 
  
    | Value | Type of the values stored in the array.  | 
    | Device | Type of the device that will be used for running operations on the array.  | 
    | Type | of the N-dimensional indexer, NDArrayIndexer.  |