39 template<typename T, typename = typename std::enable_if<std::is_enum<T>::value,
T>
::type>
42 static std::map<T, std::string>
data;
51 template<typename T, typename = typename std::enable_if<std::is_enum<T>::value,
T>
::type>
56 throw std::runtime_error(
"no string for enum with value '" + std::to_string(
static_cast<size_t>(e)) +
"'.");
71 template<typename T, typename = typename std::enable_if<std::is_enum<T>::value, T>
::type>
82 throw std::runtime_error(
"no enum value for string `" +
str +
"` available.");
93 template<typename T, typename = typename std::enable_if<std::is_enum<T>::value, T>
::type>
113 template<typename T, typename = typename std::enable_if<std::is_enum<T>::value, T>
::type>
134 template<typename T, typename = typename std::enable_if<std::is_enum<T>::value, T>
::type>
T enum_from_string(const std::string &str)
bool is_valid_enum(const std::string &str) noexcept
std::ostream & operator<<(std::ostream &os, BooleanFunction::Value v)
std::string enum_to_string(T e)
static std::map< T, std::string > data