AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::policies::STLVectorIndirection< PositionType, ElementType > Struct Template Reference

A policy class for sets with stl vector-based indirection. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/v0.7.0/src/axom/slam/policies/IndirectionPolicies.hpp>

Public Types

using IndirectionResult = ElementType &
 
using ConstIndirectionResult = const ElementType &
 
using VectorType = std::vector< ElementType >
 
using IndirectionBufferType = VectorType
 
using IndirectionPtrType = IndirectionBufferType *
 

Public Member Functions

 STLVectorIndirection (IndirectionBufferType *buf=nullptr)
 
IndirectionBufferType *& data ()
 
IndirectionBufferType *const & data () const
 
ConstIndirectionResult indirection (PositionType pos) const
 
IndirectionResult indirection (PositionType pos)
 
IndirectionResult operator() (PositionType pos)
 
ConstIndirectionResult operator() (PositionType pos) const
 
bool hasIndirection () const
 
bool isValid (PositionType size, PositionType offset, PositionType stride, bool verboseOutput=false) const
 

Static Public Member Functions

static IndirectionBufferType create (PositionType size, ConstIndirectionResult value, int allocatorId)
 

Detailed Description

template<typename PositionType, typename ElementType>
struct axom::slam::policies::STLVectorIndirection< PositionType, ElementType >

A policy class for sets with stl vector-based indirection.

Member Typedef Documentation

◆ IndirectionResult

template<typename PositionType , typename ElementType >
using axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::IndirectionResult = ElementType&

◆ ConstIndirectionResult

template<typename PositionType , typename ElementType >
using axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::ConstIndirectionResult = const ElementType&

◆ VectorType

template<typename PositionType , typename ElementType >
using axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::VectorType = std::vector<ElementType>

◆ IndirectionBufferType

template<typename PositionType , typename ElementType >
using axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::IndirectionBufferType = VectorType

◆ IndirectionPtrType

template<typename PositionType , typename ElementType >
using axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::IndirectionPtrType = IndirectionBufferType*

Constructor & Destructor Documentation

◆ STLVectorIndirection()

template<typename PositionType , typename ElementType >
axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::STLVectorIndirection ( IndirectionBufferType buf = nullptr)
inline

Member Function Documentation

◆ data() [1/2]

template<typename PositionType , typename ElementType >
IndirectionBufferType*& axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::data ( )
inline

◆ data() [2/2]

template<typename PositionType , typename ElementType >
IndirectionBufferType* const& axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::data ( ) const
inline

◆ indirection() [1/2]

template<typename PositionType , typename ElementType >
ConstIndirectionResult axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::indirection ( PositionType  pos) const
inline

◆ indirection() [2/2]

template<typename PositionType , typename ElementType >
IndirectionResult axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::indirection ( PositionType  pos)
inline

◆ operator()() [1/2]

template<typename PositionType , typename ElementType >
IndirectionResult axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::operator() ( PositionType  pos)
inline

◆ operator()() [2/2]

template<typename PositionType , typename ElementType >
ConstIndirectionResult axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::operator() ( PositionType  pos) const
inline

◆ hasIndirection()

template<typename PositionType , typename ElementType >
bool axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::hasIndirection ( ) const
inline

◆ isValid()

template<typename PositionType , typename ElementType >
bool axom::slam::policies::STLVectorIndirection< PosType, ElemType >::isValid ( PositionType  size,
PositionType  offset,
PositionType  stride,
bool  verboseOutput = false 
) const
inline

◆ create()

template<typename PositionType , typename ElementType >
static IndirectionBufferType axom::slam::policies::STLVectorIndirection< PositionType, ElementType >::create ( PositionType  size,
ConstIndirectionResult  value,
int  allocatorId 
)
inlinestatic

References AXOM_UNUSED_VAR.


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