mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-04-23 03:00:17 -04:00
Lint: use automated tooling to reformat C++ and CMakeLists files (#2103)
* Add initial clang tidy / clang format config files * Clang format the entire codebase ``` find ./src -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none find ./include -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none find ./Web -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none find ./dev -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none find ./wrappers -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none ``` * Add a .cmake-format file and reformat CmakeLists.txt with it https://github.com/cheshirekow/cmake_format * Add a clang-format workflow only runs on PRs, only on touched files
This commit is contained in:
@@ -1,63 +1,65 @@
|
||||
#include "Configuration.h"
|
||||
#include "src/Backends/REFPROP/REFPROPMixtureBackend.h"
|
||||
|
||||
namespace CoolProp
|
||||
{
|
||||
namespace CoolProp {
|
||||
|
||||
std::string config_key_to_string(configuration_keys keys)
|
||||
{
|
||||
switch (keys)
|
||||
{
|
||||
std::string config_key_to_string(configuration_keys keys) {
|
||||
switch (keys) {
|
||||
/* ***MAGIC WARNING**!!
|
||||
* See http://stackoverflow.com/a/148610
|
||||
* See http://stackoverflow.com/questions/147267/easy-way-to-use-variables-of-enum-types-as-string-in-c#202511
|
||||
*/
|
||||
#define X(Enum, String, Default, Desc) \
|
||||
case Enum: return String; break;
|
||||
CONFIGURATION_KEYS_ENUM
|
||||
#undef X
|
||||
#define X(Enum, String, Default, Desc) \
|
||||
case Enum: \
|
||||
return String; \
|
||||
break;
|
||||
CONFIGURATION_KEYS_ENUM
|
||||
#undef X
|
||||
}
|
||||
return ""; // will never get here, just to make compiler happy
|
||||
return ""; // will never get here, just to make compiler happy
|
||||
};
|
||||
|
||||
|
||||
std::string config_key_description(configuration_keys keys)
|
||||
{
|
||||
switch (keys)
|
||||
{
|
||||
/* ***MAGIC WARNING**!!
|
||||
std::string config_key_description(configuration_keys keys) {
|
||||
switch (keys) {
|
||||
/* ***MAGIC WARNING**!!
|
||||
* See http://stackoverflow.com/a/148610
|
||||
* See http://stackoverflow.com/questions/147267/easy-way-to-use-variables-of-enum-types-as-string-in-c#202511
|
||||
*/
|
||||
#define X(Enum, String, Default, Desc) case Enum: return Desc; break;
|
||||
CONFIGURATION_KEYS_ENUM
|
||||
#undef X
|
||||
#define X(Enum, String, Default, Desc) \
|
||||
case Enum: \
|
||||
return Desc; \
|
||||
break;
|
||||
CONFIGURATION_KEYS_ENUM
|
||||
#undef X
|
||||
}
|
||||
return ""; // will never get here, just to make compiler happy
|
||||
return ""; // will never get here, just to make compiler happy
|
||||
};
|
||||
|
||||
std::string config_key_description(const std::string &key)
|
||||
{
|
||||
/* ***MAGIC WARNING**!!
|
||||
std::string config_key_description(const std::string& key) {
|
||||
/* ***MAGIC WARNING**!!
|
||||
* See http://stackoverflow.com/a/148610
|
||||
* See http://stackoverflow.com/questions/147267/easy-way-to-use-variables-of-enum-types-as-string-in-c#202511
|
||||
*/
|
||||
#define X(Enum, String, Default, Desc) if (key == String){ return Desc; }
|
||||
CONFIGURATION_KEYS_ENUM
|
||||
#undef X
|
||||
#define X(Enum, String, Default, Desc) \
|
||||
if (key == String) { \
|
||||
return Desc; \
|
||||
}
|
||||
CONFIGURATION_KEYS_ENUM
|
||||
#undef X
|
||||
return "INVALID KEY";
|
||||
};
|
||||
|
||||
/// Go from string to enum key
|
||||
configuration_keys config_string_to_key(const std::string &s)
|
||||
{
|
||||
/* See http://stackoverflow.com/a/148610
|
||||
configuration_keys config_string_to_key(const std::string& s) {
|
||||
/* See http://stackoverflow.com/a/148610
|
||||
* See http://stackoverflow.com/questions/147267/easy-way-to-use-variables-of-enum-types-as-string-in-c#202511
|
||||
*/
|
||||
#define X(Enum, String, Default, Desc) \
|
||||
if (s == String){ return Enum; }
|
||||
CONFIGURATION_KEYS_ENUM
|
||||
#undef X
|
||||
#define X(Enum, String, Default, Desc) \
|
||||
if (s == String) { \
|
||||
return Enum; \
|
||||
}
|
||||
CONFIGURATION_KEYS_ENUM
|
||||
#undef X
|
||||
|
||||
// Nothing else has fired
|
||||
throw ValueError();
|
||||
@@ -65,88 +67,82 @@ configuration_keys config_string_to_key(const std::string &s)
|
||||
|
||||
static Configuration config;
|
||||
|
||||
void set_config_bool(configuration_keys key, bool val){
|
||||
void set_config_bool(configuration_keys key, bool val) {
|
||||
config.get_item(key).set_bool(val);
|
||||
}
|
||||
void set_config_int(configuration_keys key, int val){
|
||||
void set_config_int(configuration_keys key, int val) {
|
||||
config.get_item(key).set_integer(val);
|
||||
}
|
||||
void set_config_double(configuration_keys key, double val){
|
||||
config.get_item(key).set_double(val);
|
||||
void set_config_double(configuration_keys key, double val) {
|
||||
config.get_item(key).set_double(val);
|
||||
}
|
||||
void set_config_string(configuration_keys key, const std::string &val){
|
||||
void set_config_string(configuration_keys key, const std::string& val) {
|
||||
config.get_item(key).set_string(val);
|
||||
if (key == ALTERNATIVE_REFPROP_PATH ||
|
||||
key == ALTERNATIVE_REFPROP_HMX_BNC_PATH ||
|
||||
key == ALTERNATIVE_REFPROP_LIBRARY_PATH) {
|
||||
if (key == ALTERNATIVE_REFPROP_PATH || key == ALTERNATIVE_REFPROP_HMX_BNC_PATH || key == ALTERNATIVE_REFPROP_LIBRARY_PATH) {
|
||||
CoolProp::force_unload_REFPROP();
|
||||
}
|
||||
}
|
||||
|
||||
bool get_config_bool(configuration_keys key){
|
||||
bool get_config_bool(configuration_keys key) {
|
||||
return static_cast<bool>(config.get_item(key));
|
||||
}
|
||||
int get_config_int(configuration_keys key){
|
||||
int get_config_int(configuration_keys key) {
|
||||
return static_cast<int>(config.get_item(key));
|
||||
}
|
||||
double get_config_double(configuration_keys key){
|
||||
double get_config_double(configuration_keys key) {
|
||||
return static_cast<double>(config.get_item(key));
|
||||
}
|
||||
std::string get_config_string(configuration_keys key){
|
||||
std::string get_config_string(configuration_keys key) {
|
||||
return static_cast<std::string>(config.get_item(key));
|
||||
}
|
||||
void get_config_as_json(rapidjson::Document &doc){
|
||||
void get_config_as_json(rapidjson::Document& doc) {
|
||||
// Get the items
|
||||
std::map<configuration_keys, ConfigurationItem> items = config.get_items();
|
||||
for (std::map<configuration_keys, ConfigurationItem>::const_iterator it = items.begin(); it != items.end(); ++it){
|
||||
for (std::map<configuration_keys, ConfigurationItem>::const_iterator it = items.begin(); it != items.end(); ++it) {
|
||||
it->second.add_to_json(doc, doc);
|
||||
}
|
||||
}
|
||||
std::string get_config_as_json_string(){
|
||||
std::string get_config_as_json_string() {
|
||||
rapidjson::Document doc;
|
||||
doc.SetObject();
|
||||
get_config_as_json(doc);
|
||||
return cpjson::to_string(doc);
|
||||
}
|
||||
void set_config_as_json(rapidjson::Value &val){
|
||||
void set_config_as_json(rapidjson::Value& val) {
|
||||
|
||||
// First check that all keys are valid
|
||||
for (rapidjson::Value::MemberIterator it = val.MemberBegin(); it != val.MemberEnd(); ++it){
|
||||
try{
|
||||
for (rapidjson::Value::MemberIterator it = val.MemberBegin(); it != val.MemberEnd(); ++it) {
|
||||
try {
|
||||
// Try to get the key for the string
|
||||
std::string s = std::string(it->name.GetString());
|
||||
configuration_keys key = config_string_to_key(s);
|
||||
// Try to retrieve the item from the config for this key
|
||||
config.get_item(key);
|
||||
}
|
||||
catch(std::exception &e)
|
||||
{
|
||||
} catch (std::exception& e) {
|
||||
throw ValueError(format("Unable to parse json file with error: %s", e.what()));
|
||||
}
|
||||
}
|
||||
|
||||
// Now we actually set the values
|
||||
for (rapidjson::Value::MemberIterator it = val.MemberBegin(); it != val.MemberEnd(); ++it){
|
||||
for (rapidjson::Value::MemberIterator it = val.MemberBegin(); it != val.MemberEnd(); ++it) {
|
||||
// Try to get the key for the string
|
||||
std::string s = std::string(it->name.GetString());
|
||||
configuration_keys key = config_string_to_key(s);
|
||||
// Try to retrieve the item from the config for this key
|
||||
ConfigurationItem & item = config.get_item(key);
|
||||
try{
|
||||
ConfigurationItem& item = config.get_item(key);
|
||||
try {
|
||||
// Set the value from what is stored in the json value
|
||||
item.set_from_json(it->value);
|
||||
}
|
||||
catch(std::exception &e)
|
||||
{
|
||||
} catch (std::exception& e) {
|
||||
throw ValueError(format("Unable to parse json file with error: %s", e.what()));
|
||||
}
|
||||
}
|
||||
}
|
||||
void set_config_as_json_string(const std::string &s){
|
||||
void set_config_as_json_string(const std::string& s) {
|
||||
// Init the rapidjson doc
|
||||
rapidjson::Document doc;
|
||||
doc.Parse<0>(s.c_str());
|
||||
set_config_as_json(doc);
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace CoolProp
|
||||
|
||||
Reference in New Issue
Block a user