3#include "util/UnsupportedType.hpp"
13namespace util::config {
16enum class ConfigType { Integer, String, Double, Boolean };
26operator<<(std::ostream& stream, ConfigType type);
29using Value = std::variant<int64_t, std::string, bool, double>;
39operator<<(std::ostream& stream, Value value);
47template <
typename Type>
51 if constexpr (std::is_same_v<Type, int64_t>) {
52 return ConfigType::Integer;
53 }
else if constexpr (std::is_same_v<Type, std::string>) {
54 return ConfigType::String;
55 }
else if constexpr (std::is_same_v<Type, double>) {
56 return ConfigType::Double;
57 }
else if constexpr (std::is_same_v<Type, bool>) {
58 return ConfigType::Boolean;
static constexpr bool Unsupported
used for compile time checking of unsupported types
Definition UnsupportedType.hpp:7