5 #include "nlohmann/json_fwd.hpp"
19 static_assert(std::is_enum<T>::value,
"Must be an enum type");
22 LutEnumStr(std::initializer_list<std::pair<const std::string, const T>> s)
26 rev.insert(std::make_pair(it.second, it.first));
32 const T
lookup(
const std::string &s)
const
38 return lookup(detail::string_from_json(j));
41 const std::optional<T> lookup_opt(
const std::string &s)
const
49 const T
lookup(
const std::string &s, T def)
const
58 return lookup(detail::string_from_json(j), def);
70 std::map<std::string, T> fwd;
71 std::map<T, std::string> rev;
const T lookup(const std::string &s) const
Definition: lut.hpp:32
const std::string & lookup_reverse(const T s) const
Definition: lut.hpp:64
a class to store JSON values
Definition: json.hpp:177