AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::FieldRegistry< SetType, TheDataType > Class Template Reference

Simple container for fields of type DataType w/ minimal error checking. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/latest/src/axom/slam/FieldRegistry.hpp>

Inheritance diagram for axom::slam::FieldRegistry< SetType, TheDataType >:

Public Types

using PositionType = typename SetType::PositionType
 
using DataType = TheDataType
 
using KeyType = std::string
 
using MapType = slam::Map< DataType, SetType >
 
using BufferType = typename MapType::OrderedMap
 
using DataVecMap = std::map< KeyType, MapType >
 
using DataBufferMap = std::map< KeyType, BufferType >
 
using DataAttrMap = std::map< KeyType, DataType >
 

Public Member Functions

bool hasField (const KeyType &key) const
 
MapTypeaddField (KeyType key, const SetType *theSet)
 
MapTypeaddNamelessField (const SetType *theSet)
 
MapTypegetField (KeyType key)
 
const MapTypegetField (KeyType key) const
 
bool hasBuffer (const KeyType &key) const
 
BufferTypeaddBuffer (KeyType key, int size=0)
 
BufferTypeaddNamelessBuffer (int size=0)
 
BufferTypegetBuffer (KeyType key)
 
const BufferTypegetBuffer (KeyType key) const
 
bool hasScalar (const KeyType &key) const
 
DataTypeaddScalar (KeyType key, DataType val)
 
DataTypegetScalar (KeyType key)
 
const DataTypegetScalar (KeyType key) const
 

Detailed Description

template<typename SetType, typename TheDataType>
class axom::slam::FieldRegistry< SetType, TheDataType >

Simple container for fields of type DataType w/ minimal error checking.

Note
We are using concrete instances for int and double in the code below. This should eventually be replaced with the sidre datastore.

Member Typedef Documentation

◆ PositionType

template<typename SetType , typename TheDataType >
using axom::slam::FieldRegistry< SetType, TheDataType >::PositionType = typename SetType::PositionType

◆ DataType

template<typename SetType , typename TheDataType >
using axom::slam::FieldRegistry< SetType, TheDataType >::DataType = TheDataType

◆ KeyType

template<typename SetType , typename TheDataType >
using axom::slam::FieldRegistry< SetType, TheDataType >::KeyType = std::string

◆ MapType

template<typename SetType , typename TheDataType >
using axom::slam::FieldRegistry< SetType, TheDataType >::MapType = slam::Map<DataType, SetType>

◆ BufferType

template<typename SetType , typename TheDataType >
using axom::slam::FieldRegistry< SetType, TheDataType >::BufferType = typename MapType::OrderedMap

◆ DataVecMap

template<typename SetType , typename TheDataType >
using axom::slam::FieldRegistry< SetType, TheDataType >::DataVecMap = std::map<KeyType, MapType>

◆ DataBufferMap

template<typename SetType , typename TheDataType >
using axom::slam::FieldRegistry< SetType, TheDataType >::DataBufferMap = std::map<KeyType, BufferType>

◆ DataAttrMap

template<typename SetType , typename TheDataType >
using axom::slam::FieldRegistry< SetType, TheDataType >::DataAttrMap = std::map<KeyType, DataType>

Member Function Documentation

◆ hasField()

template<typename SetType , typename TheDataType >
bool axom::slam::FieldRegistry< SetType, TheDataType >::hasField ( const KeyType key) const
inline

◆ addField()

template<typename SetType , typename TheDataType >
MapType& axom::slam::FieldRegistry< SetType, TheDataType >::addField ( KeyType  key,
const SetType *  theSet 
)
inline

◆ addNamelessField()

template<typename SetType , typename TheDataType >
MapType& axom::slam::FieldRegistry< SetType, TheDataType >::addNamelessField ( const SetType *  theSet)
inline

◆ getField() [1/2]

template<typename SetType , typename TheDataType >
MapType& axom::slam::FieldRegistry< SetType, TheDataType >::getField ( KeyType  key)
inline

◆ getField() [2/2]

template<typename SetType , typename TheDataType >
const MapType& axom::slam::FieldRegistry< SetType, TheDataType >::getField ( KeyType  key) const
inline

◆ hasBuffer()

template<typename SetType , typename TheDataType >
bool axom::slam::FieldRegistry< SetType, TheDataType >::hasBuffer ( const KeyType key) const
inline

◆ addBuffer()

template<typename SetType , typename TheDataType >
BufferType& axom::slam::FieldRegistry< SetType, TheDataType >::addBuffer ( KeyType  key,
int  size = 0 
)
inline

◆ addNamelessBuffer()

template<typename SetType , typename TheDataType >
BufferType& axom::slam::FieldRegistry< SetType, TheDataType >::addNamelessBuffer ( int  size = 0)
inline

◆ getBuffer() [1/2]

template<typename SetType , typename TheDataType >
BufferType& axom::slam::FieldRegistry< SetType, TheDataType >::getBuffer ( KeyType  key)
inline

◆ getBuffer() [2/2]

template<typename SetType , typename TheDataType >
const BufferType& axom::slam::FieldRegistry< SetType, TheDataType >::getBuffer ( KeyType  key) const
inline

◆ hasScalar()

template<typename SetType , typename TheDataType >
bool axom::slam::FieldRegistry< SetType, TheDataType >::hasScalar ( const KeyType key) const
inline

◆ addScalar()

template<typename SetType , typename TheDataType >
DataType& axom::slam::FieldRegistry< SetType, TheDataType >::addScalar ( KeyType  key,
DataType  val 
)
inline

◆ getScalar() [1/2]

template<typename SetType , typename TheDataType >
DataType& axom::slam::FieldRegistry< SetType, TheDataType >::getScalar ( KeyType  key)
inline

◆ getScalar() [2/2]

template<typename SetType , typename TheDataType >
const DataType& axom::slam::FieldRegistry< SetType, TheDataType >::getScalar ( KeyType  key) const
inline

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