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