DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
ArrayBasic.hpp File Reference

Array layout descriptors, non-owning views, row views, and iterator base. More...

#include "Defines.hpp"
#include "Errors.hpp"
Include dependency graph for ArrayBasic.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DNDS::ArrayLayout< T, _row_size, _row_max, _align >
 Compile-time layout descriptor deducing the concrete DataLayout from element type and row-size template arguments. More...
 
class  DNDS::ArrayView< T, _row_size, _row_max, _align >
 Non-owning, device-callable view onto an Array. More...
 
class  DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView
 Non-owning view of a single row: {pointer, size}. More...
 
class  DNDS::ArrayIteratorBase< Derived >
 CRTP base for row-granularity iterators over an Array / ArrayView. More...
 

Namespaces

namespace  DNDS
 the host side operators are provided as implemented
 

Enumerations

enum  DNDS::DataLayout {
  DNDS::ErrorLayout , DNDS::TABLE_StaticFixed , DNDS::TABLE_Fixed , DNDS::TABLE_Max ,
  DNDS::TABLE_StaticMax , DNDS::CSR
}
 Enumeration of the five concrete data layouts supported by Array. More...
 

Functions

constexpr bool DNDS::isTABLE (DataLayout lo)
 Whether the layout uses a TABLE (padded) representation (vs CSR).
 
constexpr bool DNDS::isTABLE_Fixed (DataLayout lo)
 Whether the layout has a uniform row width (no per-row size needed).
 
constexpr bool DNDS::isTABLE_Max (DataLayout lo)
 Whether the layout is a padded-max variant (uses _pRowSizes).
 
constexpr bool DNDS::isTABLE_Static (DataLayout lo)
 Whether the layout has a compile-time row-size constant.
 
constexpr bool DNDS::isTABLE_Dynamic (DataLayout lo)
 Whether the layout carries a runtime row-size parameter.
 
template<class T >
constexpr bool DNDS::array_comp_acceptable ()
 Whether T is legal as an Array element type (trivially copyable or a fixed-size real Eigen matrix). Controls CUDA/MPI copy paths.
 

Detailed Description

Array layout descriptors, non-owning views, row views, and iterator base.

Definition in file ArrayBasic.hpp.