AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
Represents a mapping between two sets, where each element in the first set maps to an arbitrary 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 = StrideOne< ElementType > |
using | BeginsIndirectionPolicy = IndirectionPolicy |
using | BeginsSet = OrderedSet< ElementType, ElementType, BeginsSizePolicy, BeginsOffsetPolicy, BeginsStridePolicy, IndirectionPolicy > |
using | RelationalOperatorSizeType = BeginsSizePolicy |
using | IndirectionBufferType = typename IndirectionPolicy::IndirectionBufferType |
using | IndirectionPtrType = typename IndirectionPolicy::IndirectionPtrType |
Public Member Functions | |
VariableCardinality () | |
VariableCardinality (BeginsSet begins) | |
VariableCardinality (ElementType fromSetSize, typename BeginsSet::SetBuilder &builder) | |
void | bindBeginOffsets (ElementType fromSetSize, IndirectionPtrType data) |
AXOM_HOST_DEVICE ElementType | size (ElementType fromPos) const |
AXOM_HOST_DEVICE ElementType | offset (ElementType fromPos) const |
AXOM_HOST_DEVICE ElementType | firstIndex (ElementType relationOffset) const |
IndirectionPtrType | offsetData () |
const IndirectionPtrType | offsetData () const |
ElementType | totalSize () const |
template<typename FromSetType > | |
bool | isValid (const FromSetType *fromSet, bool verboseOutput=false) const |
Public Attributes | |
BeginsSet | m_begins |
Represents a mapping between two sets, where each element in the first set maps to an arbitrary number of elements in the second set.
ElementType | the index data type |
IndirectionPolicy | the policy to use for storing offsets and indices |
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::BeginsSizePolicy = RuntimeSize<ElementType> |
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::BeginsOffsetPolicy = ZeroOffset<ElementType> |
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::BeginsStridePolicy = StrideOne<ElementType> |
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::BeginsIndirectionPolicy = IndirectionPolicy |
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::BeginsSet = OrderedSet<ElementType, ElementType, BeginsSizePolicy, BeginsOffsetPolicy, BeginsStridePolicy, IndirectionPolicy> |
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::RelationalOperatorSizeType = BeginsSizePolicy |
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::IndirectionBufferType = typename IndirectionPolicy::IndirectionBufferType |
using axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::IndirectionPtrType = typename IndirectionPolicy::IndirectionPtrType |
|
inline |
|
inline |
|
inline |
|
inline |
References axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::SetBuilder::data(), axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::m_begins, and axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::SetBuilder::size().
|
inline |
|
inline |
|
inline |
References axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::m_begins, axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::offset(), and axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::size().
|
inline |
|
inline |
|
inline |
References axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::empty(), axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::m_begins, axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::offset(), and axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::size().
|
inline |
References axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::isValid(), axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::m_begins, axom::slam::policies::CompileTimeOffset< IntType, INT_VAL >::offset(), axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::size(), and axom::slam::policies::CompileTimeStride< IntType, INT_VAL >::stride().
BeginsSet axom::slam::policies::VariableCardinality< ElementType, IndirectionPolicy >::m_begins |