AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::DynamicVariableRelation< PosType, ElemType > Class Template Referenceabstract

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

Inheritance diagram for axom::slam::DynamicVariableRelation< PosType, ElemType >:

Public Types

using SetType = Set< PosType, ElemType >
 
using SetPosition = PosType
 
using RelationVec = std::vector< SetPosition >
 
using RelationVecIterator = typename RelationVec::iterator
 
using RelationVecIteratorPair = std::pair< RelationVecIterator, RelationVecIterator >
 
using RelationVecConstIterator = typename RelationVec::const_iterator
 
using RelationVecConstIteratorPair = std::pair< RelationVecConstIterator, RelationVecConstIterator >
 
using RelationsContainer = std::vector< RelationVec >
 
using RelationsContainerCIt = typename RelationsContainer::const_iterator
 
using RelationsContainerIt = typename RelationsContainer::iterator
 
using SetElement = typename Set< PosType, ElemType >::ElementType
 

Public Member Functions

 DynamicVariableRelation (SetType *fromSet=&s_nullSet, SetType *toSet=&s_nullSet)
 
 ~DynamicVariableRelation ()
 
RelationVec const & operator[] (SetPosition fromSetIndex) const
 
SetPosition size (SetPosition fromSetIndex) const
 
SetPosition totalSize () const
 
SetPosition fromSetSize () const
 
bool isValid (bool verboseOutput=false) const
 
void insert (SetPosition fromSetIndex, SetPosition toSetIndex)
 
RelationVecoperator[] (SetPosition fromSetIndex)
 
virtual RelationVecConstIterator begin (SetPosition fromSetIndex) const =0
 
virtual RelationVecConstIterator end (SetPosition fromSetIndex) const =0
 
virtual RelationVecConstIteratorPair range (SetPosition fromSetIndex) const =0
 
virtual SetPosition size (SetPosition fromSetIndex) const =0
 
DynamicVariableRelation iterator interface
RelationVecConstIterator begin (SetPosition fromSetIndex) const
 
RelationVecConstIterator end (SetPosition fromSetIndex) const
 
RelationVecConstIteratorPair range (SetPosition fromSetIndex) const
 
DirectDataAccess

Accessor functions to get the underlying relation data for each element

Note
We will have to figure out a good way to limit this access to situations where it makes sense.
RelationVecdata (SetPosition fromSetPos)
 Access the set of positions in the 'toSet' associated with the given position in 'fromSet'. More...
 
const RelationVecdata (SetPosition fromSetPos) const
 Access the set of positions in the 'toSet' associated with the given position in 'fromSet'. More...
 

Static Public Attributes

static NullSet< PosType, ElemType > s_nullSet
 Definition of static instance of nullSet for all relations. More...
 

Member Typedef Documentation

◆ SetType

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::DynamicVariableRelation< PosType, ElemType >::SetType = Set<PosType, ElemType>

◆ SetPosition

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::DynamicVariableRelation< PosType, ElemType >::SetPosition = PosType

◆ RelationVec

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::DynamicVariableRelation< PosType, ElemType >::RelationVec = std::vector<SetPosition>

◆ RelationVecIterator

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::DynamicVariableRelation< PosType, ElemType >::RelationVecIterator = typename RelationVec::iterator

◆ RelationVecIteratorPair

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::DynamicVariableRelation< PosType, ElemType >::RelationVecIteratorPair = std::pair<RelationVecIterator, RelationVecIterator>

◆ RelationVecConstIterator

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::DynamicVariableRelation< PosType, ElemType >::RelationVecConstIterator = typename RelationVec::const_iterator

◆ RelationVecConstIteratorPair

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::DynamicVariableRelation< PosType, ElemType >::RelationVecConstIteratorPair = std::pair<RelationVecConstIterator, RelationVecConstIterator>

◆ RelationsContainer

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::DynamicVariableRelation< PosType, ElemType >::RelationsContainer = std::vector<RelationVec>

◆ RelationsContainerCIt

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::DynamicVariableRelation< PosType, ElemType >::RelationsContainerCIt = typename RelationsContainer::const_iterator

◆ RelationsContainerIt

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::DynamicVariableRelation< PosType, ElemType >::RelationsContainerIt = typename RelationsContainer::iterator

◆ SetElement

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::Relation< PosType, ElemType >::SetElement = typename Set<PosType, ElemType>::ElementType
inherited

Constructor & Destructor Documentation

◆ DynamicVariableRelation()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
axom::slam::DynamicVariableRelation< PosType, ElemType >::DynamicVariableRelation ( SetType fromSet = &s_nullSet,
SetType toSet = &s_nullSet 
)
inline

◆ ~DynamicVariableRelation()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
axom::slam::DynamicVariableRelation< PosType, ElemType >::~DynamicVariableRelation ( )
inline

Member Function Documentation

◆ begin() [1/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
RelationVecConstIterator axom::slam::DynamicVariableRelation< PosType, ElemType >::begin ( SetPosition  fromSetIndex) const
inline

◆ end() [1/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
RelationVecConstIterator axom::slam::DynamicVariableRelation< PosType, ElemType >::end ( SetPosition  fromSetIndex) const
inline

◆ range() [1/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
RelationVecConstIteratorPair axom::slam::DynamicVariableRelation< PosType, ElemType >::range ( SetPosition  fromSetIndex) const
inline

◆ operator[]() [1/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
RelationVec const& axom::slam::DynamicVariableRelation< PosType, ElemType >::operator[] ( SetPosition  fromSetIndex) const
inline

◆ size() [1/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
SetPosition axom::slam::DynamicVariableRelation< PosType, ElemType >::size ( SetPosition  fromSetIndex) const
inline

◆ totalSize()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
SetPosition axom::slam::DynamicVariableRelation< PosType, ElemType >::totalSize ( ) const
inline

◆ fromSetSize()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
SetPosition axom::slam::DynamicVariableRelation< PosType, ElemType >::fromSetSize ( ) const
inline

◆ isValid()

◆ insert()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
void axom::slam::DynamicVariableRelation< PosType, ElemType >::insert ( SetPosition  fromSetIndex,
SetPosition  toSetIndex 
)
inline

◆ operator[]() [2/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
RelationVec& axom::slam::DynamicVariableRelation< PosType, ElemType >::operator[] ( SetPosition  fromSetIndex)
inline

◆ data() [1/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
RelationVec& axom::slam::DynamicVariableRelation< PosType, ElemType >::data ( SetPosition  fromSetPos)
inline

Access the set of positions in the 'toSet' associated with the given position in 'fromSet'.

Parameters
fromSetPosThe position within the 'fromSet' whose relation data (in the 'toSet') we are requesting

◆ data() [2/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
const RelationVec& axom::slam::DynamicVariableRelation< PosType, ElemType >::data ( SetPosition  fromSetPos) const
inline

Access the set of positions in the 'toSet' associated with the given position in 'fromSet'.

Parameters
fromSetPosThe position within the 'fromSet' whose relation data (in the 'toSet') we are requesting

References AXOM_DEBUG_PARAM, axom::slam::Set< PosType, ElemType >::size(), and SLIC_ASSERT_MSG.

◆ begin() [2/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
virtual RelationVecConstIterator axom::slam::Relation< PosType, ElemType >::begin ( SetPosition  fromSetIndex) const
pure virtualinherited

◆ end() [2/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
virtual RelationVecConstIterator axom::slam::Relation< PosType, ElemType >::end ( SetPosition  fromSetIndex) const
pure virtualinherited

◆ range() [2/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
virtual RelationVecConstIteratorPair axom::slam::Relation< PosType, ElemType >::range ( SetPosition  fromSetIndex) const
pure virtualinherited

◆ size() [2/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
virtual SetPosition axom::slam::Relation< PosType, ElemType >::size ( SetPosition  fromSetIndex) const
pure virtualinherited

Member Data Documentation

◆ s_nullSet

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
NullSet< PosType, ElemType > axom::slam::Relation< PosType, ElemType >::s_nullSet
staticinherited

Definition of static instance of nullSet for all relations.

Note
Should this be a singleton or a global object? Should the scope be public?

Referenced by axom::slam::DynamicVariableRelation< PosType, ElemType >::isValid().


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