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

Classes

struct  axom::bump::views::view_traits< TopologyView >
 General traits for topology views. More...
 
struct  axom::bump::views::view_traits< StructuredTopologyView< StridedStructuredIndexing< IndexT, 3 > > >
 
struct  axom::bump::views::view_traits< StructuredTopologyView< StridedStructuredIndexing< IndexT, 2 > > >
 
struct  axom::bump::views::view_traits< StructuredTopologyView< StridedStructuredIndexing< IndexT, 1 > > >
 
struct  axom::bump::views::array_view_traits< T >
 Base template for some ArrayView traits. More...
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< std::uint8_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< const std::uint8_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< std::uint16_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< const std::uint16_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< std::uint32_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< const std::uint32_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< std::uint64_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< const std::uint64_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< std::int8_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< const std::int8_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< std::int16_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< const std::int16_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< std::int32_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< const std::int32_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< std::int64_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< const std::int64_t > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< float > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< const float > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< double > >
 
struct  axom::bump::views::array_view_traits< axom::ArrayView< const double > >
 

Namespaces

 axom
 
 axom::bump
 
 axom::bump::views
 

Macros

#define AXOM_MAKE_TRAIT(TYPE)
 This macro defines some template specializations that help us access ArrayView<> names. This can be helpful when the ArrayView comes into a lambda as an auto argument. More...
 

Functions

static constexpr int axom::bump::views::shapes_for_dimension (int dimension)
 Return which shapes to expect for a given dimension. More...
 

Macro Definition Documentation

◆ AXOM_MAKE_TRAIT

#define AXOM_MAKE_TRAIT (   TYPE)
Value:
template <> \
struct array_view_traits<axom::ArrayView<TYPE>> \
{ \
using value_type = TYPE; \
static constexpr const char* name() { return "axom::ArrayView<" #TYPE ">"; } \
}; \
template <> \
struct array_view_traits<axom::ArrayView<const TYPE>> \
{ \
using value_type = const TYPE; \
static constexpr const char* name() { return "axom::ArrayView<const " #TYPE ">"; } \
};

This macro defines some template specializations that help us access ArrayView<> names. This can be helpful when the ArrayView comes into a lambda as an auto argument.