File bout_enum_class.hxx

Defines

_ec_expand_1(_call, enumname, x)

Create some macro magic similar to bout/macro_for_each.hxx, but allowing for the enum class name to be passed through to each _call _ec_expand_x set of macros expand a number of arguments without ‘;’ between them

_ec_expand_2(_call, enumname, x, ...)
_ec_expand_3(_call, enumname, x, ...)
_ec_expand_4(_call, enumname, x, ...)
_ec_expand_5(_call, enumname, x, ...)
_ec_expand_6(_call, enumname, x, ...)
_ec_expand_7(_call, enumname, x, ...)
_ec_expand_8(_call, enumname, x, ...)
_ec_expand_9(_call, enumname, x, ...)
_ec_expand_10(_call, enumname, x, ...)
BOUT_ENUM_CLASS_MAP_ARGS(mac, enumname, ...)
BOUT_ENUM_CLASS_STR(enumname, val)
BOUT_STR_ENUM_CLASS(enumname, val)
BOUT_MAKE_FROMSTRING_NAME(enumname)
BOUT_ENUM_CLASS(enumname, ...)

Create an enum class with toString and <enum name>=””>FromString functions, and an Options::as<enum> overload to read the enum