Skip to content

Instantly share code, notes, and snippets.

@EricWF
Created October 1, 2013 20:36
Show Gist options
  • Save EricWF/6784688 to your computer and use it in GitHub Desktop.
Save EricWF/6784688 to your computer and use it in GitHub Desktop.
#include <typeinfo>
class bad_enum_cast : public std::bad_cast
{
public:
const char* what() const noexcept
{ return "bad enum cast"; }
};
template <typename Enum, typename Integral>
Enum enum_cast(Integral val)
{
throw bad_enum_cast{};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment