diff options
Diffstat (limited to 'lib/settings/configuration.h')
-rw-r--r-- | lib/settings/configuration.h | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/lib/settings/configuration.h b/lib/settings/configuration.h index b258cb3..4fc614e 100644 --- a/lib/settings/configuration.h +++ b/lib/settings/configuration.h @@ -10,10 +10,11 @@ #define CONFIGURATION_H #include <optional> -#include <vector> #include <string> +#include <vector> -namespace libconfig { +namespace libconfig +{ class Config; class Setting; } @@ -34,12 +35,12 @@ public: std::vector<std::string> childrenSettings(const char *name = ""); std::vector<std::string> childrenGroups(const char *name = ""); - void resetValue(const char* path); + void resetValue(const char *path); - template<typename T> - std::optional<T> value(const char* path) const; + template <typename T> + std::optional<T> value(const char *path) const; - template<typename T> + template <typename T> bool setValue(std::string path, const T &val); private: @@ -49,26 +50,26 @@ private: }; // replace ~ with home -std::string& patchHome(std::string &path, const std::string &home); +std::string &patchHome(std::string &path, const std::string &home); // instantiate functions // this needs to be done because the implementation is in the cpp file // Settings::value<> -extern template std::optional<int> Configuration::value<int>(const char* path) const; -extern template std::optional<unsigned int> Configuration::value<unsigned int>(const char* path) const; -extern template std::optional<long> Configuration::value<long>(const char* path) const; -extern template std::optional<unsigned long> Configuration::value<unsigned long>(const char* path) const; +extern template std::optional<int> Configuration::value<int>(const char *path) const; +extern template std::optional<unsigned int> Configuration::value<unsigned int>(const char *path) const; +extern template std::optional<long> Configuration::value<long>(const char *path) const; +extern template std::optional<unsigned long> Configuration::value<unsigned long>(const char *path) const; -extern template std::optional<long long> Configuration::value<long long>(const char* path) const; -extern template std::optional<unsigned long long> Configuration::value<unsigned long long>(const char* path) const; +extern template std::optional<long long> Configuration::value<long long>(const char *path) const; +extern template std::optional<unsigned long long> Configuration::value<unsigned long long>(const char *path) const; -extern template std::optional<float> Configuration::value<float>(const char* path) const; -extern template std::optional<double> Configuration::value<double>(const char* path) const; +extern template std::optional<float> Configuration::value<float>(const char *path) const; +extern template std::optional<double> Configuration::value<double>(const char *path) const; -extern template std::optional<bool> Configuration::value<bool>(const char* path) const; +extern template std::optional<bool> Configuration::value<bool>(const char *path) const; -extern template std::optional<std::string> Configuration::value<std::string>(const char* path) const; +extern template std::optional<std::string> Configuration::value<std::string>(const char *path) const; // Settings::setValue<> extern template bool Configuration::setValue<int>(std::string path, const int &val); |