| Celeritas 0.7.0-dev.172+develop.fe2a0acd4
    | 
#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.