AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType > Struct Template Reference

Traits class to manage types for different point representations in a SparseOctreeLevel. More...

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

Public Types

using GridPt = primal::Point< CoordType, DIM >
 
using PointRepresenationType = RepresentationType
 
using MapType = std::unordered_map< RepresentationType, BroodDataType >
 
using BroodType = Brood< GridPt, PointRepresenationType >
 

Public Member Functions

 AXOM_STATIC_ASSERT_MSG (std::is_integral< CoordType >::value, "CoordType must be integral")
 
 AXOM_STATIC_ASSERT_MSG (std::is_integral< PointRepresenationType >::value, "RepresentationType must be integral")
 
 AXOM_STATIC_ASSERT_MSG (std::is_unsigned< PointRepresenationType >::value, "RepresentationType must be unsigned")
 

Static Public Member Functions

static PointRepresenationType convertPoint (const GridPt &pt)
 
static void initializeMap (MapType &map)
 

Detailed Description

template<typename CoordType, int DIM, typename BroodDataType, typename RepresentationType>
struct axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType >

Traits class to manage types for different point representations in a SparseOctreeLevel.

The general case is meant for Representations types that are unsigned integers and uses a Morton-based index as the hashmap key.

Member Typedef Documentation

◆ GridPt

template<typename CoordType , int DIM, typename BroodDataType , typename RepresentationType >
using axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType >::GridPt = primal::Point<CoordType, DIM>

◆ PointRepresenationType

template<typename CoordType , int DIM, typename BroodDataType , typename RepresentationType >
using axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType >::PointRepresenationType = RepresentationType

◆ MapType

template<typename CoordType , int DIM, typename BroodDataType , typename RepresentationType >
using axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType >::MapType = std::unordered_map<RepresentationType, BroodDataType>

◆ BroodType

template<typename CoordType , int DIM, typename BroodDataType , typename RepresentationType >
using axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType >::BroodType = Brood<GridPt, PointRepresenationType>

Member Function Documentation

◆ AXOM_STATIC_ASSERT_MSG() [1/3]

template<typename CoordType , int DIM, typename BroodDataType , typename RepresentationType >
axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType >::AXOM_STATIC_ASSERT_MSG ( std::is_integral< CoordType >::value  ,
"CoordType must be integral"   
)

◆ AXOM_STATIC_ASSERT_MSG() [2/3]

template<typename CoordType , int DIM, typename BroodDataType , typename RepresentationType >
axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType >::AXOM_STATIC_ASSERT_MSG ( std::is_integral< PointRepresenationType >::value  ,
"RepresentationType must be integral"   
)

◆ AXOM_STATIC_ASSERT_MSG() [3/3]

template<typename CoordType , int DIM, typename BroodDataType , typename RepresentationType >
axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType >::AXOM_STATIC_ASSERT_MSG ( std::is_unsigned< PointRepresenationType >::value  ,
"RepresentationType must be unsigned"   
)

◆ convertPoint()

template<typename CoordType , int DIM, typename BroodDataType , typename RepresentationType >
static PointRepresenationType axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType >::convertPoint ( const GridPt pt)
inlinestatic

Simple function to convert a point to its representation type

◆ initializeMap()

template<typename CoordType , int DIM, typename BroodDataType , typename RepresentationType >
static void axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType >::initializeMap ( MapType map)
inlinestatic

Utility function to initialize a MapType

Note
sparsehash's maps require setting some default keys

References AXOM_UNUSED_VAR, and axom::utilities::max().


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