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/develop/src/axom/slam/policies/CardinalityPolicies.hpp>
Public Types | |
using | BeginsSizePolicy = RuntimeSize< ElementType > |
using | BeginsOffsetPolicy = ZeroOffset< ElementType > |
using | BeginsStridePolicy = StrideOne< ElementType > |
using | BeginsIndirectionPolicy = IndirectionPolicy |
using | IndexSet = OrderedSet< ElementType, ElementType, BeginsSizePolicy, BeginsOffsetPolicy, BeginsStridePolicy, IndirectionPolicy > |
using | BeginsSet = IndexSet |
using | RelationalOperatorSizeType = BeginsSizePolicy |
using | IndirectionBufferType = typename IndirectionPolicy::IndirectionBufferType |
using | IndirectionPtrType = typename IndirectionPolicy::IndirectionPtrType |
Public Member Functions | |
MappedVariableCardinality () | |
MappedVariableCardinality (BeginsSet begins) | |
MappedVariableCardinality (ElementType fromSetSize, typename BeginsSet::SetBuilder &builder) | |
void | bindBeginOffsets (ElementType fromSetSize, IndirectionPtrType data) |
void | bindFirstIndices (ElementType relationSize, IndirectionPtrType data, bool fillIndices=true) |
AXOM_HOST_DEVICE ElementType | size (ElementType fromPos) const |
AXOM_HOST_DEVICE ElementType | offset (ElementType fromPos) const |
AXOM_HOST_DEVICE ElementType | firstIndex (ElementType offset) const |
IndirectionPtrType | offsetData () |
const IndirectionPtrType | offsetData () const |
ElementType | totalSize () const |
template<typename FromSetType > | |
bool | isValid (const FromSetType *fromSet, bool verboseOutput=false) const |
Public Attributes | |
IndexSet | m_firstIndexes |
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.
MappedVariableCardinality extends VariableCardinality to map "flat" indices in the associated RelationSet to first set indices.
ElementType | the index data type |
IndirectionPolicy | the policy to use for storing offsets and indices |
using axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::BeginsSizePolicy = RuntimeSize<ElementType> |
using axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::BeginsOffsetPolicy = ZeroOffset<ElementType> |
using axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::BeginsStridePolicy = StrideOne<ElementType> |
using axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::BeginsIndirectionPolicy = IndirectionPolicy |
using axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::IndexSet = OrderedSet<ElementType, ElementType, BeginsSizePolicy, BeginsOffsetPolicy, BeginsStridePolicy, IndirectionPolicy> |
using axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::BeginsSet = IndexSet |
using axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::RelationalOperatorSizeType = BeginsSizePolicy |
using axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::IndirectionBufferType = typename IndirectionPolicy::IndirectionBufferType |
using axom::slam::policies::MappedVariableCardinality< 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::MappedVariableCardinality< ElementType, IndirectionPolicy >::m_begins, and axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::SetBuilder::size().
|
inline |
References axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::SetBuilder::data(), axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::m_begins, axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::m_firstIndexes, axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::offset(), axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::size(), axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::size(), and axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::SetBuilder::size().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >::empty(), axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::m_begins, axom::slam::policies::MappedVariableCardinality< 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::MappedVariableCardinality< 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().
IndexSet axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::m_firstIndexes |
BeginsSet axom::slam::policies::MappedVariableCardinality< ElementType, IndirectionPolicy >::m_begins |