in serving/reagent/serving/core/Containers.cpp [6:43]
ConstantValue json_to_constant_value(const json& j) {
if (j.count("string_value")) {
return j.at("string_value").get<std::string>();
}
if (j.count("int_value")) {
return j.at("int_value").get<int64_t>();
}
if (j.count("double_value")) {
return j.at("double_value").get<double>();
}
if (j.count("list_string_value")) {
return j.at("list_string_value").get<StringList>();
}
if (j.count("list_int_value")) {
return j.at("list_int_value").get<std::vector<int64_t>>();
}
if (j.count("list_double_value")) {
return j.at("list_double_value").get<std::vector<double>>();
}
if (j.count("map_string_value")) {
return j.at("map_string_value").get<StringStringMap>();
}
if (j.count("map_int_value")) {
return j.at("map_int_value").get<StringIntMap>();
}
if (j.count("map_double_value")) {
return j.at("map_double_value").get<StringDoubleMap>();
}
if (j.count("ranked_action_list")) {
return j.at("ranked_action_list").get<RankedActionList>();
}
if (j.count("map_map_double_value")) {
return j.at("map_map_double_value")
.get<std::unordered_map<std::string, StringDoubleMap>>();
}
std::string what = "Invalid constant: " + j.dump();
throw std::runtime_error(what.c_str());
}