We are using this great little project with another templated library that, as part of its operation, must default construct an object before passing it as reference to a function where value is assigned. This fails though because it seems smart_enums can't be default constructed, causing compiler errors with GCC saying the constructor is deleted. Furthermore, the readme implies this is supported with the line near the end:
Animal invalid;
Default construction should be supported, and if possible, should cause the is_valid() method to return false until a valid value is assigned.
We are using this great little project with another templated library that, as part of its operation, must default construct an object before passing it as reference to a function where value is assigned. This fails though because it seems smart_enums can't be default constructed, causing compiler errors with GCC saying the constructor is deleted. Furthermore, the readme implies this is supported with the line near the end:
Animal invalid;Default construction should be supported, and if possible, should cause the
is_valid()method to return false until a valid value is assigned.