22#include "util/UnsupportedType.hpp"
32namespace util::config {
35enum class ConfigType { Integer, String, Double, Boolean };
45operator<<(std::ostream& stream, ConfigType type);
48using Value = std::variant<int64_t, std::string, bool, double>;
66template <
typename Type>
70 if constexpr (std::is_same_v<Type, int64_t>) {
71 return ConfigType::Integer;
72 }
else if constexpr (std::is_same_v<Type, std::string>) {
73 return ConfigType::String;
74 }
else if constexpr (std::is_same_v<Type, double>) {
75 return ConfigType::Double;
76 }
else if constexpr (std::is_same_v<Type, bool>) {
77 return ConfigType::Boolean;
static constexpr bool Unsupported
used for compile time checking of unsupported types
Definition UnsupportedType.hpp:26
std::ostream & operator<<(std::ostream &stream, Severity sev)
Custom labels for Severity in log output.
Definition Logger.cpp:73