SimpleConfig: Add const char * key variants.
This commit is contained in:
parent
9a83cf6c08
commit
1bc8a9ad82
|
@ -1,6 +1,6 @@
|
||||||
cmake_minimum_required(VERSION 3.22)
|
cmake_minimum_required(VERSION 3.22)
|
||||||
project(scsl LANGUAGES CXX
|
project(scsl LANGUAGES CXX
|
||||||
VERSION 1.0.3
|
VERSION 1.1.0
|
||||||
DESCRIPTION "Shimmering Clarity Standard Library")
|
DESCRIPTION "Shimmering Clarity Standard Library")
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
|
|
|
@ -110,6 +110,27 @@ public:
|
||||||
/// \return The value stored under the key, or an empty string.
|
/// \return The value stored under the key, or an empty string.
|
||||||
static std::string GetGlobal(std::string &key);
|
static std::string GetGlobal(std::string &key);
|
||||||
|
|
||||||
|
/// \brief Get the value stored for the key from the config.
|
||||||
|
///
|
||||||
|
/// \note This operates on the global config.
|
||||||
|
///
|
||||||
|
/// \param key The key to look up. See the class documentation
|
||||||
|
/// for information on how this is used.
|
||||||
|
/// \return The value stored under the key, or an empty string.
|
||||||
|
static std::string GetGlobal(const char *key);
|
||||||
|
|
||||||
|
/// \brief Get the value stored for the key from the config.
|
||||||
|
///
|
||||||
|
/// \note This operates on the global config.
|
||||||
|
///
|
||||||
|
/// \param key The key to look up. See the class documentation
|
||||||
|
/// for information on how this is used.
|
||||||
|
/// \param defaultValue A default value to cache and use if no
|
||||||
|
/// value is stored under the key.
|
||||||
|
/// \return The value stored under the key, or the default
|
||||||
|
/// value.
|
||||||
|
static std::string GetGlobal(const char *key, const std::string &defaultValue);
|
||||||
|
|
||||||
/// \brief Get the value stored for the key from the config.
|
/// \brief Get the value stored for the key from the config.
|
||||||
///
|
///
|
||||||
/// \note This operates on the global config.
|
/// \note This operates on the global config.
|
||||||
|
@ -125,6 +146,10 @@ public:
|
||||||
/// \brief Set a configuration value. This will override any
|
/// \brief Set a configuration value. This will override any
|
||||||
/// value set.
|
/// value set.
|
||||||
static void PutGlobal(std::string &key, const std::string &value);
|
static void PutGlobal(std::string &key, const std::string &value);
|
||||||
|
|
||||||
|
/// \brief Set a configuration value. This will override any
|
||||||
|
/// value set.
|
||||||
|
static void PutGlobal(const char *key, const std::string &value);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/// \brief The constructor doesn't need any initialisation.
|
/// \brief The constructor doesn't need any initialisation.
|
||||||
|
@ -167,6 +192,13 @@ public:
|
||||||
/// \return The value stored under the key, or an empty string.
|
/// \return The value stored under the key, or an empty string.
|
||||||
std::string Get(std::string &key);
|
std::string Get(std::string &key);
|
||||||
|
|
||||||
|
/// \brief Get the value stored for the key from the config.
|
||||||
|
///
|
||||||
|
/// \param key The key to look up. See the class documentation
|
||||||
|
/// for information on how this is used.
|
||||||
|
/// \return The value stored under the key, or an empty string.
|
||||||
|
std::string Get(const char *key);
|
||||||
|
|
||||||
/// \brief Get the value stored for the key from the config.
|
/// \brief Get the value stored for the key from the config.
|
||||||
///
|
///
|
||||||
/// \param key The key to look up. See the class documentation
|
/// \param key The key to look up. See the class documentation
|
||||||
|
@ -177,15 +209,31 @@ public:
|
||||||
/// value.
|
/// value.
|
||||||
std::string Get(std::string &key, std::string defaultValue);
|
std::string Get(std::string &key, std::string defaultValue);
|
||||||
|
|
||||||
|
/// \brief Get the value stored for the key from the config.
|
||||||
|
///
|
||||||
|
/// \param key The key to look up. See the class documentation
|
||||||
|
/// for information on how this is used.
|
||||||
|
/// \param defaultValue A default value to cache and use if no
|
||||||
|
/// value is stored under the key.
|
||||||
|
/// \return The value stored under the key, or the default
|
||||||
|
/// value.
|
||||||
|
std::string Get(const char *key, std::string defaultValue);
|
||||||
|
|
||||||
/// \brief Set a configuration value. This will override any
|
/// \brief Set a configuration value. This will override any
|
||||||
/// value set.
|
/// value set.
|
||||||
///
|
///
|
||||||
/// \param key The key to look up. See the class documentation
|
/// \param key The key to look up. See the class documentation
|
||||||
/// for information on how this is used.
|
/// for information on how this is used.
|
||||||
/// \param value The value to set.
|
/// \param value The value to set.
|
||||||
/// \return
|
|
||||||
void Put(std::string &key, const std::string value);
|
void Put(std::string &key, const std::string value);
|
||||||
|
|
||||||
|
/// \brief Set a configuration value. This will override any
|
||||||
|
/// value set.
|
||||||
|
///
|
||||||
|
/// \param key The key to look up. See the class documentation
|
||||||
|
/// for information on how this is used.
|
||||||
|
/// \param value The value to set.
|
||||||
|
void Put(const char *key, const std::string value);
|
||||||
private:
|
private:
|
||||||
std::string envPrefix;
|
std::string envPrefix;
|
||||||
std::map<std::string, std::string> vars;
|
std::map<std::string, std::string> vars;
|
||||||
|
|
|
@ -83,6 +83,13 @@ SimpleConfig::GetGlobal(std::string &key)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
std::string
|
||||||
|
SimpleConfig::GetGlobal(const char *key)
|
||||||
|
{
|
||||||
|
return globalConfig.Get(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
std::string
|
std::string
|
||||||
SimpleConfig::GetGlobal(std::string &key, const std::string &defaultValue)
|
SimpleConfig::GetGlobal(std::string &key, const std::string &defaultValue)
|
||||||
{
|
{
|
||||||
|
@ -90,6 +97,13 @@ SimpleConfig::GetGlobal(std::string &key, const std::string &defaultValue)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
std::string
|
||||||
|
SimpleConfig::GetGlobal(const char *key, const std::string &defaultValue)
|
||||||
|
{
|
||||||
|
return globalConfig.Get(key, defaultValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
SimpleConfig::PutGlobal(std::string &key, const std::string &value)
|
SimpleConfig::PutGlobal(std::string &key, const std::string &value)
|
||||||
{
|
{
|
||||||
|
@ -160,6 +174,14 @@ SimpleConfig::Get(std::string &key)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
std::string
|
||||||
|
SimpleConfig::Get(const char *key)
|
||||||
|
{
|
||||||
|
auto keyStr = std::string(key);
|
||||||
|
return this->Get(keyStr, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
std::string
|
std::string
|
||||||
SimpleConfig::Get(std::string &key, std::string defaultValue)
|
SimpleConfig::Get(std::string &key, std::string defaultValue)
|
||||||
{
|
{
|
||||||
|
@ -180,6 +202,14 @@ SimpleConfig::Get(std::string &key, std::string defaultValue)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
std::string
|
||||||
|
SimpleConfig::Get(const char *key, std::string defaultValue)
|
||||||
|
{
|
||||||
|
auto keyStr = std::string(key);
|
||||||
|
return this->Get(keyStr, std::move(defaultValue));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
SimpleConfig::Put(std::string &key, const std::string value)
|
SimpleConfig::Put(std::string &key, const std::string value)
|
||||||
{
|
{
|
||||||
|
@ -187,6 +217,14 @@ SimpleConfig::Put(std::string &key, const std::string value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
SimpleConfig::Put(const char *key, const std::string value)
|
||||||
|
{
|
||||||
|
auto keyStr = std::string(key);
|
||||||
|
this->vars[std::move(keyStr)] = std::move(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
std::vector<std::string>
|
std::vector<std::string>
|
||||||
SimpleConfig::KeyList()
|
SimpleConfig::KeyList()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue