MCPcopy Create free account
hub / github.com/CoolProp/CoolProp / item_from_json

Function item_from_json

src/Configuration.cpp:28–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26}
27
28void item_from_json(CoolProp::ConfigurationItem& item, const nlohmann::json& val) {
29 switch (item.get_type()) {
30 case CONFIGURATION_BOOL_TYPE:
31 if (!val.is_boolean()) {
32 throw CoolProp::ValueError(format("Input is not boolean"));
33 }
34 item.set_bool(val.get<bool>());
35 break;
36 case CONFIGURATION_INTEGER_TYPE:
37 if (!val.is_number_integer()) {
38 throw CoolProp::ValueError(format("Input is not integer"));
39 }
40 item.set_integer(val.get<int>());
41 break;
42 case CONFIGURATION_DOUBLE_TYPE:
43 if (!val.is_number()) {
44 throw CoolProp::ValueError(format("Input [%s] is not double (or something that can be cast to double)", val.dump().c_str()));
45 }
46 item.set_double(val.get<double>());
47 break;
48 case CONFIGURATION_STRING_TYPE:
49 if (!val.is_string()) {
50 throw CoolProp::ValueError(format("Input is not string"));
51 }
52 item.set_string(val.get<std::string>());
53 break;
54 case CONFIGURATION_ENDOFLIST_TYPE:
55 case CONFIGURATION_NOT_DEFINED_TYPE:
56 throw CoolProp::ValueError();
57 }
58}
59
60} // namespace
61

Callers 1

Calls 6

get_typeMethod · 0.80
set_boolMethod · 0.80
set_integerMethod · 0.80
set_doubleMethod · 0.80
set_stringMethod · 0.80
formatFunction · 0.70

Tested by

no test coverage detected