AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::policies::ConstantCardinality< ElementType, StridePolicy > Class Template Reference

Represents a mapping between two sets, where each element in the first set maps to a fixed number of elements in the second set. More...

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

Public Types

using BeginsSizePolicy = RuntimeSize< ElementType >
 
using BeginsOffsetPolicy = ZeroOffset< ElementType >
 
using BeginsStridePolicy = StridePolicy
 
using BeginsIndirectionPolicy = NoIndirection< ElementType, ElementType >
 
using BeginsSet = OrderedSet< ElementType, ElementType, BeginsSizePolicy, BeginsOffsetPolicy, BeginsStridePolicy >
 
using RelationalOperatorSizeType = typename StrideToSize< BeginsStridePolicy, ElementType, BeginsStridePolicy::DEFAULT_VALUE >::SizeType
 
using IndirectionPtrType = typename BeginsIndirectionPolicy::IndirectionPtrType
 

Public Member Functions

 ConstantCardinality ()
 
 ConstantCardinality (BeginsSet begins)
 
 ConstantCardinality (ElementType fromSetSize)
 
 ConstantCardinality (ElementType fromSetSize, typename BeginsSet::SetBuilder &builder)
 
AXOM_HOST_DEVICE ElementType size (ElementType AXOM_UNUSED_PARAM(fromPos)) const
 
AXOM_HOST_DEVICE ElementType offset (ElementType fromPos) const
 
AXOM_HOST_DEVICE ElementType firstIndex (ElementType offset) const
 
IndirectionPtrType offsetData ()
 
const IndirectionPtrType offsetData () const
 
void bindBeginOffsets (ElementType fromSetSize, ElementType stride)
 
ElementType totalSize () const
 
template<typename FromSetType >
bool isValid (const FromSetType *fromSet, bool AXOM_UNUSED_PARAM(verboseOutput)=false) const
 

Public Attributes

BeginsSet m_begins
 

Detailed Description

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
class axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >

Represents a mapping between two sets, where each element in the first set maps to a fixed number of elements in the second set.

Template Parameters
ElementTypethe index data type
StridePolicypolicy for number of elements being mapped

Member Typedef Documentation

◆ BeginsSizePolicy

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
using axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::BeginsSizePolicy = RuntimeSize<ElementType>

◆ BeginsOffsetPolicy

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
using axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::BeginsOffsetPolicy = ZeroOffset<ElementType>

◆ BeginsStridePolicy

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
using axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::BeginsStridePolicy = StridePolicy

◆ BeginsIndirectionPolicy

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
using axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::BeginsIndirectionPolicy = NoIndirection<ElementType, ElementType>

◆ BeginsSet

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
using axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::BeginsSet = OrderedSet<ElementType, ElementType, BeginsSizePolicy, BeginsOffsetPolicy, BeginsStridePolicy>

◆ RelationalOperatorSizeType

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
using axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::RelationalOperatorSizeType = typename StrideToSize<BeginsStridePolicy, ElementType, BeginsStridePolicy::DEFAULT_VALUE>::SizeType

◆ IndirectionPtrType

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
using axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::IndirectionPtrType = typename BeginsIndirectionPolicy::IndirectionPtrType

Constructor & Destructor Documentation

◆ ConstantCardinality() [1/4]

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::ConstantCardinality ( )
inline

◆ ConstantCardinality() [2/4]

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::ConstantCardinality ( BeginsSet  begins)
inline

◆ ConstantCardinality() [3/4]

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::ConstantCardinality ( ElementType  fromSetSize)
inline

◆ ConstantCardinality() [4/4]

Member Function Documentation

◆ size()

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
AXOM_HOST_DEVICE ElementType axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::size ( ElementType   AXOM_UNUSED_PARAMfromPos) const
inline

◆ offset()

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
AXOM_HOST_DEVICE ElementType axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::offset ( ElementType  fromPos) const
inline

◆ firstIndex()

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
AXOM_HOST_DEVICE ElementType axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::firstIndex ( ElementType  offset) const
inline

◆ offsetData() [1/2]

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
IndirectionPtrType axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::offsetData ( )
inline

◆ offsetData() [2/2]

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
const IndirectionPtrType axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::offsetData ( ) const
inline

◆ bindBeginOffsets()

◆ totalSize()

◆ isValid()

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
template<typename FromSetType >
bool axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::isValid ( const FromSetType *  fromSet,
bool   AXOM_UNUSED_PARAMverboseOutput = false 
) const
inline

Member Data Documentation

◆ m_begins

template<typename ElementType = int, typename StridePolicy = RuntimeStride<ElementType>>
BeginsSet axom::slam::policies::ConstantCardinality< ElementType, StridePolicy >::m_begins

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