3#include "util/UnsupportedType.hpp"
13namespace util::config {
18enum class ConfigType { Integer, String, Double, Boolean };
28operator<<(std::ostream& stream, ConfigType type);
33using Value = std::variant<int64_t, std::string, bool, double>;
43operator<<(std::ostream& stream, Value value);
51template <
typename Type>
55 if constexpr (std::is_same_v<Type, int64_t>) {
56 return ConfigType::Integer;
57 }
else if constexpr (std::is_same_v<Type, std::string>) {
58 return ConfigType::String;
59 }
else if constexpr (std::is_same_v<Type, double>) {
60 return ConfigType::Double;
61 }
else if constexpr (std::is_same_v<Type, bool>) {
62 return ConfigType::Boolean;
static constexpr bool Unsupported
used for compile time checking of unsupported types
Definition UnsupportedType.hpp:9