enum class Flag:int{ NONE, TEST_FLAG1, TEST_FLAG2, TEST_FLAG3, }; template auto toint(Enumeration const value) -> typename std::underlying_type::type { return static_cast::type>(value); }