LocalPlayer::accelerateHorizontal: cleanups
[oweals/minetest.git] / src / settings.h
index b19733514daed23e09a10b2742f8e21ae54c3874..f0baf41bfddd5aaa1184b9683e67b2aca929aaa7 100644 (file)
@@ -22,11 +22,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #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;
@@ -45,7 +44,7 @@ typedef std::vector<
        >
 > SettingsCallbackList;
 
-typedef UNORDERED_MAP<std::string, SettingsCallbackList> SettingsCallbackMap;
+typedef std::unordered_map<std::string, SettingsCallbackList> SettingsCallbackMap;
 
 enum ValueType {
        VALUETYPE_STRING,
@@ -74,31 +73,23 @@ struct ValueSpec {
 };
 
 struct SettingsEntry {
-       SettingsEntry()
-       {
-               group    = NULL;
-               is_group = false;
-       }
+       SettingsEntry() {}
 
-       SettingsEntry(const std::string &value_)
-       {
-               value    = value_;
-               group    = NULL;
-               is_group = false;
-       }
+       SettingsEntry(const std::string &value_) :
+               value(value_)
+       {}
 
-       SettingsEntry(Settings *group_)
-       {
-               group    = group_;
-               is_group = true;
-       }
+       SettingsEntry(Settings *group_) :
+               group(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:
@@ -129,8 +120,6 @@ public:
 
        static bool checkNameValid(const std::string &name);
        static bool checkValueValid(const std::string &value);
-       static std::string sanitizeName(const std::string &name);
-       static std::string sanitizeValue(const std::string &value);
        static std::string getMultiline(std::istream &is, size_t *num_lines=NULL);
        static void printEntry(std::ostream &os, const std::string &name,
                const SettingsEntry &entry, u32 tab_depth=0);
@@ -141,10 +130,11 @@ public:
 
        const SettingsEntry &getEntry(const std::string &name) const;
        Settings *getGroup(const std::string &name) const;
-       std::string get(const std::string &name) const;
+       const std::string &get(const std::string &name) const;
        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;
@@ -238,10 +228,10 @@ private:
 
        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;
 
 };