|
Celeritas 0.7.0-dev.169+develop.bdc0041f6
|
#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 > | |
| CELER_CONSTEXPR_FUNCTION decltype(auto) | celeritas::visit_surface_type (F &&func, SurfaceType st) |
| Expand a macro to a switch statement over all possible surface types. | |
| #define ORANGE_ST_VISIT_CASE | ( | TYPE | ) |
| #define ORANGE_SURFACE_TRAITS | ( | ENUM_VALUE, | |
| CLS | |||
| ) |
| CELER_CONSTEXPR_FUNCTION decltype(auto) 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.