summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorThomas Herzog <thomas.herzog@mail.com>2017-11-03 15:07:31 +0100
committerGitHub <noreply@github.com>2017-11-03 15:07:31 +0100
commit8e145fa1a80bcd860dd8e16d7db684f9905865e8 (patch)
treea6a4ae24cd389f825f019330c50f415c04cdc7c4 /core
parentc880302754352dce1e44bf00bf9b1ac20e71cd1d (diff)
parent38d56c8351838fce3005ab92440c4c2320d92b0f (diff)
Merge pull request #12608 from karroffel/configfile-orderedhashmap
make ConfigFile use OrderedHashMap
Diffstat (limited to 'core')
-rw-r--r--core/io/config_file.cpp16
-rw-r--r--core/io/config_file.h3
-rw-r--r--core/ordered_hash_map.h2
3 files changed, 11 insertions, 10 deletions
diff --git a/core/io/config_file.cpp b/core/io/config_file.cpp
index daa6b01d6e..b5d41bacbb 100644
--- a/core/io/config_file.cpp
+++ b/core/io/config_file.cpp
@@ -75,7 +75,7 @@ void ConfigFile::set_value(const String &p_section, const String &p_key, const V
} else {
if (!values.has(p_section)) {
- values[p_section] = Map<String, Variant>();
+ values[p_section] = OrderedHashMap<String, Variant>();
}
values[p_section][p_key] = p_value;
@@ -106,7 +106,7 @@ bool ConfigFile::has_section_key(const String &p_section, const String &p_key) c
void ConfigFile::get_sections(List<String> *r_sections) const {
- for (const Map<String, Map<String, Variant> >::Element *E = values.front(); E; E = E->next()) {
+ for (const Map<String, OrderedHashMap<String, Variant> >::Element *E = values.front(); E; E = E->next()) {
r_sections->push_back(E->key());
}
}
@@ -114,8 +114,8 @@ void ConfigFile::get_section_keys(const String &p_section, List<String> *r_keys)
ERR_FAIL_COND(!values.has(p_section));
- for (const Map<String, Variant>::Element *E = values[p_section].front(); E; E = E->next()) {
- r_keys->push_back(E->key());
+ for (OrderedHashMap<String, Variant>::ConstElement E = values[p_section].front(); E; E = E.next()) {
+ r_keys->push_back(E.key());
}
}
@@ -135,17 +135,17 @@ Error ConfigFile::save(const String &p_path) {
return err;
}
- for (Map<String, Map<String, Variant> >::Element *E = values.front(); E; E = E->next()) {
+ for (Map<String, OrderedHashMap<String, Variant> >::Element *E = values.front(); E; E = E->next()) {
if (E != values.front())
file->store_string("\n");
file->store_string("[" + E->key() + "]\n\n");
- for (Map<String, Variant>::Element *F = E->get().front(); F; F = F->next()) {
+ for (OrderedHashMap<String, Variant>::Element F = E->get().front(); F; F = F.next()) {
String vstr;
- VariantWriter::write_to_string(F->get(), vstr);
- file->store_string(F->key() + "=" + vstr + "\n");
+ VariantWriter::write_to_string(F.get(), vstr);
+ file->store_string(F.key() + "=" + vstr + "\n");
}
}
diff --git a/core/io/config_file.h b/core/io/config_file.h
index 8ed8a069e4..2be196faa2 100644
--- a/core/io/config_file.h
+++ b/core/io/config_file.h
@@ -30,13 +30,14 @@
#ifndef CONFIG_FILE_H
#define CONFIG_FILE_H
+#include "core/ordered_hash_map.h"
#include "reference.h"
class ConfigFile : public Reference {
GDCLASS(ConfigFile, Reference);
- Map<String, Map<String, Variant> > values;
+ Map<String, OrderedHashMap<String, Variant> > values;
PoolStringArray _get_sections() const;
PoolStringArray _get_section_keys(const String &p_section) const;
diff --git a/core/ordered_hash_map.h b/core/ordered_hash_map.h
index 9e95f963e1..62eeedb437 100644
--- a/core/ordered_hash_map.h
+++ b/core/ordered_hash_map.h
@@ -181,7 +181,7 @@ public:
};
ConstElement find(const K &p_key) const {
- typename InternalList::Element **list_element = map.getptr(p_key);
+ typename InternalList::Element *const *list_element = map.getptr(p_key);
if (list_element) {
return ConstElement(*list_element);
}