#include "irrlichttypes_bloated.h"
#include "util/string.h"
-#include "threading/mutex.h"
#include <string>
-#include "util/cpp11_container.h"
#include <list>
#include <set>
+#include <mutex>
class Settings;
struct NoiseParams;
>
> SettingsCallbackList;
-typedef UNORDERED_MAP<std::string, SettingsCallbackList> SettingsCallbackMap;
+typedef std::unordered_map<std::string, SettingsCallbackList> SettingsCallbackMap;
enum ValueType {
VALUETYPE_STRING,
};
struct SettingsEntry {
- SettingsEntry() :
- group(NULL),
- is_group(false)
- {}
+ SettingsEntry() {}
SettingsEntry(const std::string &value_) :
- value(value_),
- group(NULL),
- is_group(false)
+ value(value_)
{}
SettingsEntry(Settings *group_) :
is_group(true)
{}
- std::string value;
- Settings *group;
- bool is_group;
+ std::string value = "";
+ Settings *group = nullptr;
+ bool is_group = false;
};
-typedef UNORDERED_MAP<std::string, SettingsEntry> SettingEntries;
+typedef std::unordered_map<std::string, SettingsEntry> SettingEntries;
class Settings {
public:
bool getBool(const std::string &name) const;
u16 getU16(const std::string &name) const;
s16 getS16(const std::string &name) const;
+ u32 getU32(const std::string &name) const;
s32 getS32(const std::string &name) const;
u64 getU64(const std::string &name) const;
float getFloat(const std::string &name) const;
SettingsCallbackMap m_callbacks;
- mutable Mutex m_callback_mutex;
+ mutable std::mutex m_callback_mutex;
// All methods that access m_settings/m_defaults directly should lock this.
- mutable Mutex m_mutex;
+ mutable std::mutex m_mutex;
};