AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::policies::MultiDimStride< IntType, Dims > Struct Template Reference

A policy class for a set with multi-dimensional stride. Assumed layout is row-major. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/latest/src/axom/slam/policies/StridePolicies.hpp>

Public Types

using IndexType = IntType
 
using ShapeType = StackArray< IntType, Dims >
 

Public Member Functions

AXOM_HOST_DEVICE MultiDimStride (StackArray< IntType, Dims > shape)
 
AXOM_HOST_DEVICE IntType stride () const
 Returns the "flat" stride of all the subcomponents. More...
 
IntType operator() () const
 
IntType & operator() ()
 
AXOM_HOST_DEVICE ShapeType strides () const
 Returns the strides for each indexing dimension. More...
 
AXOM_HOST_DEVICE ShapeType shape () const
 Returns the multi-dimensional shape of the inner data. This only has meaning when used with Map-based types. More...
 

Static Public Member Functions

static ShapeType DefaultSize ()
 

Static Public Attributes

constexpr static int NumDims = Dims
 

Detailed Description

template<typename IntType, int Dims>
struct axom::slam::policies::MultiDimStride< IntType, Dims >

A policy class for a set with multi-dimensional stride. Assumed layout is row-major.

Member Typedef Documentation

◆ IndexType

template<typename IntType , int Dims>
using axom::slam::policies::MultiDimStride< IntType, Dims >::IndexType = IntType

◆ ShapeType

template<typename IntType , int Dims>
using axom::slam::policies::MultiDimStride< IntType, Dims >::ShapeType = StackArray<IntType, Dims>

Constructor & Destructor Documentation

◆ MultiDimStride()

template<typename IntType , int Dims>
AXOM_HOST_DEVICE axom::slam::policies::MultiDimStride< IntType, Dims >::MultiDimStride ( StackArray< IntType, Dims >  shape)
inline

Member Function Documentation

◆ DefaultSize()

template<typename IntType , int Dims>
static ShapeType axom::slam::policies::MultiDimStride< IntType, Dims >::DefaultSize ( )
inlinestatic

◆ stride()

template<typename IntType , int Dims>
AXOM_HOST_DEVICE IntType axom::slam::policies::MultiDimStride< IntType, Dims >::stride ( ) const
inline

Returns the "flat" stride of all the subcomponents.

◆ operator()() [1/2]

template<typename IntType , int Dims>
IntType axom::slam::policies::MultiDimStride< IntType, Dims >::operator() ( ) const
inline

◆ operator()() [2/2]

template<typename IntType , int Dims>
IntType& axom::slam::policies::MultiDimStride< IntType, Dims >::operator() ( )
inline

◆ strides()

template<typename IntType , int Dims>
AXOM_HOST_DEVICE ShapeType axom::slam::policies::MultiDimStride< IntType, Dims >::strides ( ) const
inline

Returns the strides for each indexing dimension.

◆ shape()

template<typename IntType , int Dims>
AXOM_HOST_DEVICE ShapeType axom::slam::policies::MultiDimStride< IntType, Dims >::shape ( ) const
inline

Returns the multi-dimensional shape of the inner data. This only has meaning when used with Map-based types.

Member Data Documentation

◆ NumDims

template<typename IntType , int Dims>
constexpr static int axom::slam::policies::MultiDimStride< IntType, Dims >::NumDims = Dims
staticconstexpr

The documentation for this struct was generated from the following file: