Add a Config::is_in_list() method
This commit is contained in:
committed by
louiz’
parent
39a32d5524
commit
a429b2ea27
+14
-3
@@ -1,10 +1,12 @@
|
|||||||
#include <config/config.hpp>
|
#include <config/config.hpp>
|
||||||
#include <utils/tolower.hpp>
|
#include <utils/tolower.hpp>
|
||||||
|
#include <utils/split.hpp>
|
||||||
|
|
||||||
#include <iostream>
|
#include <algorithm>
|
||||||
#include <cstring>
|
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
#include <cstring>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
using namespace std::string_literals;
|
using namespace std::string_literals;
|
||||||
|
|
||||||
@@ -40,6 +42,15 @@ int Config::get_int(const std::string& option, const int& def)
|
|||||||
return def;
|
return def;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Config::is_in_list(const std::string& option, const std::string& value)
|
||||||
|
{
|
||||||
|
std::string res = Config::get(option, "");
|
||||||
|
if (res.empty())
|
||||||
|
return false;
|
||||||
|
std::vector<std::string> list = utils::split(res, ':');
|
||||||
|
return std::find(list.cbegin(), list.cend(), value) != list.cend();
|
||||||
|
}
|
||||||
|
|
||||||
void Config::set(const std::string& option, const std::string& value, bool save)
|
void Config::set(const std::string& option, const std::string& value, bool save)
|
||||||
{
|
{
|
||||||
Config::values[option] = value;
|
Config::values[option] = value;
|
||||||
|
|||||||
@@ -45,6 +45,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
static int get_int(const std::string&, const int&);
|
static int get_int(const std::string&, const int&);
|
||||||
static bool get_bool(const std::string&, const bool);
|
static bool get_bool(const std::string&, const bool);
|
||||||
|
/**
|
||||||
|
* Returns true if value is present in a colon-separated list, otherwise
|
||||||
|
* false.
|
||||||
|
*/
|
||||||
|
static bool is_in_list(const std::string& option, const std::string& value);
|
||||||
/**
|
/**
|
||||||
* Set a value for the given option. And write all the config
|
* Set a value for the given option. And write all the config
|
||||||
* in the file from which it was read if save is true.
|
* in the file from which it was read if save is true.
|
||||||
|
|||||||
Reference in New Issue
Block a user