Celeritas
0.5.0-56+6b053cd
|
#include "corecel/cont/EnumClassUtils.hh"
#include "corecel/math/Algorithms.hh"
#include "orange/OrangeTypes.hh"
#include "SurfaceFwd.hh"
Macros | |
#define | ORANGE_SURFACE_TRAITS(ENUM_VALUE, CLS) |
#define | ORANGE_ST_VISIT_CASE(TYPE) |
Functions | |
template<class F > | |
decltype(auto) CELER_CONSTEXPR_FUNCTION | celeritas::visit_surface_type (F &&func, SurfaceType st) |
Expand a macro to a switch statement over all possible surface types. More... | |
#define ORANGE_ST_VISIT_CASE | ( | TYPE | ) |
#define ORANGE_SURFACE_TRAITS | ( | ENUM_VALUE, | |
CLS | |||
) |
decltype(auto) CELER_CONSTEXPR_FUNCTION celeritas::visit_surface_type | ( | F && | func, |
SurfaceType | st | ||
) |
Expand a macro to a switch statement over all possible surface types.
The func
argument should be a functor that takes a single argument which is a SurfaceTypeTraits instance.