AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::multimat::MMSubField2DWrap< Field2DType, DataLayout::CELL_DOM > Class Template Reference

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/multimat/mmsubfield.hpp>

Inheritance diagram for axom::multimat::MMSubField2DWrap< Field2DType, DataLayout::CELL_DOM >:

Public Types

using SFB = MMSubField2D< Field2DType >
 
using SubSetType = MultiMat::RangeSetType
 
using SubMapType = slam::SubMap< typename Field2DType::BiVarMapType, SubSetType, slam::policies::ConcreteInterface >
 
using SuperMapType = typename Field2DType::BiVarMapType
 
using BiVarSetType = typename Field2DType::BiVarSetType
 
using DataType = typename SuperMapType::DataType
 
using SetPosition = typename SubsetType::PositionType
 
using SetElement = typename SubsetType::ElementType
 
using StridePolicyType = typename SuperMapType::StridePolicyType
 
using IndirectionPolicyType = typename SuperMapType::IndirectionPolicy
 
using ElementShape = typename StridePolicyType::ShapeType
 
using MapType = Map< DataType, MultiMat::RangeSetType, IndirectionPolicyType, StridePolicyType >
 
using SubsetBuilder = typename SubsetType::SetBuilder
 
using iterator = Iterator
 
using const_iterator = Iterator
 
using iterator_pair = std::pair< iterator, iterator >
 
using const_range_iterator = RangeIterator
 
using range_iterator = RangeIterator
 
using ValueType = typename IndirectionPolicyType::IndirectionResult
 
using ConstValueType = typename IndirectionPolicyType::ConstIndirectionResult
 
using DataRefType = std::conditional_t< std::is_const< Field2DType::BiVarMapType >::value, ConstValueType, ValueType >
 

Public Member Functions

 MMSubField2DWrap (Field2DType *superfield, int firstIndex, bool indirection=true)
 
DataLayout getDataLayout ()
 
int cellId ()
 
int matId (int i)
 
int getOuterIndex ()
 
bool isValid (bool VerboseOutput=false) const
 
AXOM_HOST_DEVICE iterator begin () const
 
AXOM_HOST_DEVICE iterator end () const
 
AXOM_HOST_DEVICE range_iterator set_begin () const
 
AXOM_HOST_DEVICE range_iterator set_end () const
 
SubMap individual access functions
AXOM_HOST_DEVICE DataRefType operator[] (IndexType idx) const
 Access the value in the SubMap given the ComponentFlatIndex. More...
 
AXOM_HOST_DEVICE DataRefType operator() (IndexType idx, ComponentIndex... comp) const
 Access the value associated with the given position in the subset and the component index. More...
 
AXOM_HOST_DEVICE DataRefType value (IndexType idx, ComponentIndex... comp) const
 Access the value associated with the given position in the subset and the component index. More...
 
AXOM_HOST_DEVICE IndexType index (IndexType idx) const
 Return the set element in the SuperMap at the given subset index. More...
 
SubMap cardinality functions
AXOM_HOST_DEVICE axom::IndexType size () const
 returns the size of the SubMap
More...
 
AXOM_HOST_DEVICE IndexType numComp () const
 returns the number of components (aka. stride) of the SubMap
More...
 

Protected Attributes

Field2DType::BiVarMapType * m_superMap
 
MultiMat::RangeSetType m_subsetIdx
 
bool m_indicesHaveIndirection
 

Member Typedef Documentation

◆ SFB

template<typename Field2DType >
using axom::multimat::MMSubField2DWrap< Field2DType, DataLayout::CELL_DOM >::SFB = MMSubField2D<Field2DType>

◆ SubSetType

template<typename Field2DType >
using axom::multimat::MMSubField2D< Field2DType >::SubSetType = MultiMat::RangeSetType
inherited

◆ SubMapType

template<typename Field2DType >
using axom::multimat::MMSubField2D< Field2DType >::SubMapType = slam::SubMap<typename Field2DType::BiVarMapType, SubSetType, slam::policies::ConcreteInterface>
inherited

◆ SuperMapType

template<typename Field2DType >
using axom::multimat::MMSubField2D< Field2DType >::SuperMapType = typename Field2DType::BiVarMapType
inherited

◆ BiVarSetType

template<typename Field2DType >
using axom::multimat::MMSubField2D< Field2DType >::BiVarSetType = typename Field2DType::BiVarSetType
inherited

◆ DataType

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::DataType = typename SuperMapType::DataType
inherited

◆ SetPosition

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::SetPosition = typename SubsetType::PositionType
inherited

◆ SetElement

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::SetElement = typename SubsetType::ElementType
inherited

◆ StridePolicyType

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::StridePolicyType = typename SuperMapType::StridePolicyType
inherited

◆ IndirectionPolicyType

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::IndirectionPolicyType = typename SuperMapType::IndirectionPolicy
inherited

◆ ElementShape

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::ElementShape = typename StridePolicyType::ShapeType
inherited

◆ MapType

◆ SubsetBuilder

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::SubsetBuilder = typename SubsetType::SetBuilder
inherited

◆ iterator

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::iterator = Iterator
inherited

◆ const_iterator

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::const_iterator = Iterator
inherited

◆ iterator_pair

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::iterator_pair = std::pair<iterator, iterator>
inherited

◆ const_range_iterator

◆ range_iterator

◆ ValueType

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::ValueType = typename IndirectionPolicyType::IndirectionResult
inherited

◆ ConstValueType

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::ConstValueType = typename IndirectionPolicyType::ConstIndirectionResult
inherited

◆ DataRefType

using axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::DataRefType = std::conditional_t<std::is_const<Field2DType::BiVarMapType >::value, ConstValueType, ValueType>
inherited

Constructor & Destructor Documentation

◆ MMSubField2DWrap()

template<typename Field2DType >
axom::multimat::MMSubField2DWrap< Field2DType, DataLayout::CELL_DOM >::MMSubField2DWrap ( Field2DType *  superfield,
int  firstIndex,
bool  indirection = true 
)
inline

Member Function Documentation

◆ getDataLayout()

template<typename Field2DType >
DataLayout axom::multimat::MMSubField2DWrap< Field2DType, DataLayout::CELL_DOM >::getDataLayout ( )
inline

◆ cellId()

template<typename Field2DType >
int axom::multimat::MMSubField2DWrap< Field2DType, DataLayout::CELL_DOM >::cellId ( )
inline

◆ matId()

◆ getOuterIndex()

template<typename Field2DType >
int axom::multimat::MMSubField2D< Field2DType >::getOuterIndex ( )
inlineinherited

◆ operator[]()

AXOM_HOST_DEVICE DataRefType axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::operator[] ( IndexType  idx) const
inlineinherited

Access the value in the SubMap given the ComponentFlatIndex.

Parameters
idxthe ComponentFlatIndex into the subset
Returns
The value for the jth component of the ith element, where setIndex = i * numComp() + j.
Precondition
0 <= idx < size() * numComp()

◆ operator()()

AXOM_HOST_DEVICE DataRefType axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::operator() ( IndexType  idx,
ComponentIndex...  comp 
) const
inlineinherited

Access the value associated with the given position in the subset and the component index.

Precondition
0 <= idx < size()
0 <= comp < numComp()

◆ value()

AXOM_HOST_DEVICE DataRefType axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::value ( IndexType  idx,
ComponentIndex...  comp 
) const
inlineinherited

Access the value associated with the given position in the subset and the component index.

Precondition
0 <= idx < size()
0 <= comp < numComp()

◆ index()

AXOM_HOST_DEVICE IndexType axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::index ( IndexType  idx) const
inlineinherited

Return the set element in the SuperMap at the given subset index.

◆ size()

AXOM_HOST_DEVICE axom::IndexType axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::size ( ) const
inlineinherited

returns the size of the SubMap

◆ numComp()

AXOM_HOST_DEVICE IndexType axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::numComp ( ) const
inlineinherited

returns the number of components (aka. stride) of the SubMap

◆ isValid()

bool axom::slam::SubMap< Field2DType::BiVarMapType , SetType, slam::policies::ConcreteInterface >::isValid ( bool  VerboseOutput = false) const
inherited

◆ begin()

AXOM_HOST_DEVICE iterator axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::begin ( ) const
inlineinherited

◆ end()

AXOM_HOST_DEVICE iterator axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::end ( ) const
inlineinherited

◆ set_begin()

AXOM_HOST_DEVICE range_iterator axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::set_begin ( ) const
inlineinherited

◆ set_end()

AXOM_HOST_DEVICE range_iterator axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::set_end ( ) const
inlineinherited

Member Data Documentation

◆ m_superMap

Field2DType::BiVarMapType * axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::m_superMap
protectedinherited

◆ m_subsetIdx

MultiMat::RangeSetType axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::m_subsetIdx
protectedinherited

◆ m_indicesHaveIndirection

bool axom::slam::SubMap< Field2DType::BiVarMapType , MultiMat::RangeSetType , slam::policies::ConcreteInterface >::m_indicesHaveIndirection
protectedinherited

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