AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::policies Namespace Reference

Namespaces

 detail
 

Classes

class  ConstantCardinality
 Represents a mapping between two sets, where each element in the first set maps to a fixed number of elements in the second set. More...
 
class  VariableCardinality
 Represents a mapping between two sets, where each element in the first set maps to an arbitrary number of elements in the second set. More...
 
class  MappedVariableCardinality
 Represents a mapping between two sets, where each element in the first set maps to an arbitrary number of elements in the second set. More...
 
struct  NoIndirection
 A policy class for sets with no indirection. More...
 
struct  CArrayIndirectionBase
 
struct  STLVectorIndirectionBase
 
struct  ArrayIndirectionBase
 
struct  ArrayViewIndirectionBase
 
class  VirtualInterface
 Policy to use a virtual interface with a given Slam type. More...
 
struct  ConcreteInterface
 
struct  RuntimeOffset
 A policy class for the offset in a set. The offset can be set at runtime. More...
 
struct  CompileTimeOffset
 A policy class for a compile-time known set offset. More...
 
struct  StrideToSize
 Definition of a type trait to adapt a StridePolicy into a SizePolicy. More...
 
struct  StrideToSize< RuntimeStride< IntType >, IntType >
 Specialization of StrideToSize trait for a RuntimeStride. More...
 
struct  StrideToSize< CompileTimeStride< IntType, IntType(VAL)>, IntType, VAL >
 Specialization of StrideToSize trait for a CompileTimeStride. More...
 
struct  EmptySetTraits
 Type traits for null sets. More...
 
struct  EmptySetTraits< slam::Set< P, E > >
 Specialization of NullSetTraits for the base class Set. More...
 
struct  RuntimeSize
 A policy class for the size of a set whose value can be set at runtime. More...
 
struct  DynamicRuntimeSize
 A policy class for the size of a set that can be modified at runtime. More...
 
struct  CompileTimeSize
 A policy class for a compile-time known set size. More...
 
struct  ZeroSize
 A policy class for an empty set (no size) More...
 
struct  RuntimeStride
 A policy class for the stride in a set. When using this class, the stride can be set at runtime. More...
 
struct  CompileTimeStride
 A policy class for a compile-time known stride. More...
 
struct  MultiDimStride
 A policy class for a set with multi-dimensional stride. Assumed layout is row-major. More...
 
struct  NoSubset
 
struct  VirtualParentSubset
 
struct  ConcreteParentSubset
 

Typedefs

template<typename InterfacePolicy , typename FromSet , typename ToSet >
using BivariateSetInterface = typename detail::BSetInterfaceSelector< InterfacePolicy, FromSet, ToSet >::Type
 
template<typename InterfacePolicy , typename SetPositionType >
using MapInterface = typename detail::MapInterfaceSelector< InterfacePolicy, SetPositionType >::Type
 
template<typename InterfacePolicy , typename PosType , typename ElemType >
using SetInterface = typename detail::SetInterfaceSelector< InterfacePolicy, PosType, ElemType >::Type
 
OrderedSet_Indirection_Policies

A few default policies for the indirection of an OrderedSet

template<typename PositionType , typename ElementType >
using CArrayIndirection = detail::IndexedIndirection< CArrayIndirectionBase< PositionType, ElementType > >
 A policy class for sets with C-style array-based indirection. More...
 
template<typename PositionType , typename ElementType >
using STLVectorIndirection = detail::IndexedIndirection< STLVectorIndirectionBase< PositionType, ElementType > >
 A policy class for sets with stl vector-based indirection. More...
 
template<typename PositionType , typename ElementType >
using ArrayIndirection = detail::IndexedIndirection< ArrayIndirectionBase< PositionType, ElementType > >
 A policy class for sets with axom::Array-based indirection. More...
 
template<typename PositionType , typename ElementType >
using ArrayViewIndirection = detail::IndexedIndirection< ArrayViewIndirectionBase< PositionType, ElementType > >
 A policy class for sets with axom::ArrayView-based indirection. More...
 
OrderedSet_Offset_Policies

A few default policies for the offset of an OrderedSet

template<typename IntType >
using ZeroOffset = CompileTimeOffset< IntType, 0 >
 A policy class for when we have no offset. More...
 
OrderedSet_Stride_Policies

A few default policies for the stride of an OrderedSet

template<typename IntType >
using StrideOne = CompileTimeStride< IntType, 1 >
 A policy class for a set with stride one (i.e. the default stride) More...
 

Typedef Documentation

◆ BivariateSetInterface

template<typename InterfacePolicy , typename FromSet , typename ToSet >
using axom::slam::policies::BivariateSetInterface = typedef typename detail::BSetInterfaceSelector<InterfacePolicy, FromSet, ToSet>::Type

◆ CArrayIndirection

template<typename PositionType , typename ElementType >
using axom::slam::policies::CArrayIndirection = typedef detail::IndexedIndirection<CArrayIndirectionBase<PositionType, ElementType> >

A policy class for sets with C-style array-based indirection.

◆ STLVectorIndirection

template<typename PositionType , typename ElementType >
using axom::slam::policies::STLVectorIndirection = typedef detail::IndexedIndirection<STLVectorIndirectionBase<PositionType, ElementType> >

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

◆ ArrayIndirection

template<typename PositionType , typename ElementType >
using axom::slam::policies::ArrayIndirection = typedef detail::IndexedIndirection<ArrayIndirectionBase<PositionType, ElementType> >

A policy class for sets with axom::Array-based indirection.

◆ ArrayViewIndirection

template<typename PositionType , typename ElementType >
using axom::slam::policies::ArrayViewIndirection = typedef detail::IndexedIndirection<ArrayViewIndirectionBase<PositionType, ElementType> >

A policy class for sets with axom::ArrayView-based indirection.

◆ MapInterface

template<typename InterfacePolicy , typename SetPositionType >
using axom::slam::policies::MapInterface = typedef typename detail::MapInterfaceSelector<InterfacePolicy, SetPositionType>::Type

◆ ZeroOffset

template<typename IntType >
using axom::slam::policies::ZeroOffset = typedef CompileTimeOffset<IntType, 0>

A policy class for when we have no offset.

◆ SetInterface

template<typename InterfacePolicy , typename PosType , typename ElemType >
using axom::slam::policies::SetInterface = typedef typename detail::SetInterfaceSelector<InterfacePolicy, PosType, ElemType>::Type

◆ StrideOne

template<typename IntType >
using axom::slam::policies::StrideOne = typedef CompileTimeStride<IntType, 1>

A policy class for a set with stride one (i.e. the default stride)