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

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

Public Types

using BeginsSizePolicy = RuntimeSize< ElementType >
 
using BeginsOffsetPolicy = ZeroOffset< ElementType >
 
using BeginsStridePolicy = StrideOne< ElementType >
 
using BeginsIndirectionPolicy = IndirectionPolicy
 
using BeginsSet = OrderedSet< ElementType, ElementType, BeginsSizePolicy, BeginsOffsetPolicy, BeginsStridePolicy, IndirectionPolicy >
 
using RelationalOperatorSizeType = BeginsSizePolicy
 
using IndirectionBufferType = typename IndirectionPolicy::IndirectionBufferType
 

Public Member Functions

 VariableCardinality ()
 
 VariableCardinality (BeginsSet begins)
 
 VariableCardinality (ElementType fromSetSize, typename BeginsSet::SetBuilder &builder)
 
void bindBeginOffsets (ElementType fromSetSize, IndirectionBufferType *data)
 
const ElementType size (ElementType fromPos) const
 
const ElementType offset (ElementType fromPos) const
 
ElementType totalSize () const
 
template<typename FromSetType >
bool isValid (const FromSetType *fromSet, bool verboseOutput=false) const
 

Public Attributes

BeginsSet m_begins
 

Member Typedef Documentation

◆ BeginsSizePolicy

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::BeginsSizePolicy = RuntimeSize<ElementType>

◆ BeginsOffsetPolicy

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::BeginsOffsetPolicy = ZeroOffset<ElementType>

◆ BeginsStridePolicy

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::BeginsStridePolicy = StrideOne<ElementType>

◆ BeginsIndirectionPolicy

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::BeginsIndirectionPolicy = IndirectionPolicy

◆ BeginsSet

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::BeginsSet = OrderedSet<ElementType, ElementType, BeginsSizePolicy, BeginsOffsetPolicy, BeginsStridePolicy, IndirectionPolicy>

◆ RelationalOperatorSizeType

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::RelationalOperatorSizeType = BeginsSizePolicy

◆ IndirectionBufferType

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::IndirectionBufferType = typename IndirectionPolicy::IndirectionBufferType

Constructor & Destructor Documentation

◆ VariableCardinality() [1/3]

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::VariableCardinality ( )
inline

◆ VariableCardinality() [2/3]

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::VariableCardinality ( BeginsSet  begins)
inline

◆ VariableCardinality() [3/3]

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::VariableCardinality ( ElementType  fromSetSize,
typename BeginsSet::SetBuilder &  builder 
)
inline

Member Function Documentation

◆ bindBeginOffsets()

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
void axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::bindBeginOffsets ( ElementType  fromSetSize,
IndirectionBufferType data 
)
inline

◆ size()

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
const ElementType axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::size ( ElementType  fromPos) const
inline

◆ offset()

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
const ElementType axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::offset ( ElementType  fromPos) const
inline

◆ totalSize()

◆ isValid()

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
template<typename FromSetType >
bool axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::isValid ( const FromSetType *  fromSet,
bool  verboseOutput = false 
) const
inline

Member Data Documentation

◆ m_begins

template<typename ElementType = int, typename IndirectionPolicy = STLVectorIndirection<ElementType, ElementType>>
BeginsSet axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::m_begins

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