| 5 | namespace { |
| 6 | |
| 7 | void item_to_json(const CoolProp::ConfigurationItem& item, nlohmann::json& obj) { |
| 8 | const std::string name = CoolProp::config_key_to_string(item.get_key()); |
| 9 | switch (item.get_type()) { |
| 10 | case CONFIGURATION_BOOL_TYPE: |
| 11 | obj[name] = static_cast<bool>(item); |
| 12 | break; |
| 13 | case CONFIGURATION_INTEGER_TYPE: |
| 14 | obj[name] = static_cast<int>(item); |
| 15 | break; |
| 16 | case CONFIGURATION_DOUBLE_TYPE: |
| 17 | obj[name] = static_cast<double>(item); |
| 18 | break; |
| 19 | case CONFIGURATION_STRING_TYPE: |
| 20 | obj[name] = static_cast<std::string>(item); |
| 21 | break; |
| 22 | case CONFIGURATION_ENDOFLIST_TYPE: |
| 23 | case CONFIGURATION_NOT_DEFINED_TYPE: |
| 24 | throw CoolProp::ValueError(); |
| 25 | } |
| 26 | } |
| 27 | |
| 28 | void item_from_json(CoolProp::ConfigurationItem& item, const nlohmann::json& val) { |
| 29 | switch (item.get_type()) { |
no test coverage detected