2
2
#include <sqee/forward.hpp>
3
3
#include <unordered_map>
4
#include <unordered_set>
5
namespace chaiscript { class Boxed_Value; }
8
9
/// The SQEE Settings manager
9
10
class Settings final : NonCopyable {
11
template <class T> void add(const string& _key, const T& _val);
12
template <class T> void mod(const string& _key, const T& _val);
13
template <class T> bool check(const string& _key) const;
14
template <class T> T get(const string& _key) const;
12
Settings(); ~Settings();
14
template<class T> void add(const string& _key, T _val);
15
template<class T> void mod(const string& _key, T _val);
16
template<class T> T get(const string& _key) const;
18
void cs_mod(const string& _key, chai::Boxed_Value _val);
19
chai::Boxed_Value cs_get(const string& _key) const;
18
std::unordered_map<string, int> intMap;
19
std::unordered_map<string, bool> boolMap;
20
std::unordered_map<string, float> floatMap;
21
std::unordered_map<string, string> stringMap;
22
std::unordered_set<string> intChanges;
23
std::unordered_set<string> boolChanges;
24
std::unordered_set<string> floatChanges;
25
std::unordered_set<string> stringChanges;
22
unique_ptr<std::unordered_map<string, chai::Boxed_Value>> settingMap;