AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
IndirectionPolicies.hpp File Reference

Defines several indirection policies for slam. More...

Classes

struct  axom::slam::policies::NoIndirection< PositionType, ElementType >
 A policy class for sets with no indirection. More...
 
struct  axom::slam::policies::ArrayIndirection< PositionType, ElementType >
 A policy class for sets with array-based indirection. More...
 
struct  axom::slam::policies::STLVectorIndirection< PositionType, ElementType >
 A policy class for sets with stl vector-based indirection. More...
 

Namespaces

 axom
 
 axom::slam
 
 axom::slam::policies
 

Detailed Description

Defines several indirection policies for slam.

Indirection policies encompass the underlying storage for indirection buffers for a SLAM set, relation or map. A valid indirection policy must support the following interface:

  • [required]
  • type alias IndirectionResult – the type of the result of an indirection (const/nonconst and ref/nonref)
  • indirection() : IntType – returns the value of the element after indirection
  • hasIndirection(): bool – returns whether there is an indirection buffer
  • isValid() : bool – indicates whether the Indirection policy of the set is valid
  • [optional]
    • operator(): IntType – alternate accessor for indirection
    • data() : ElementType* – allows direct access to the underlying buffer (when this exists)
Note
Slam's Sets, Relations and Maps are not responsible for allocating/deallocating their own memory