diff --git a/core/io/config_file.cpp b/core/io/config_file.cpp index b5d41bacbb2..2b60150832a 100644 --- a/core/io/config_file.cpp +++ b/core/io/config_file.cpp @@ -106,8 +106,8 @@ bool ConfigFile::has_section_key(const String &p_section, const String &p_key) c void ConfigFile::get_sections(List *r_sections) const { - for (const Map >::Element *E = values.front(); E; E = E->next()) { - r_sections->push_back(E->key()); + for (OrderedHashMap >::ConstElement E = values.front(); E; E = E.next()) { + r_sections->push_back(E.key()); } } void ConfigFile::get_section_keys(const String &p_section, List *r_keys) const { @@ -135,13 +135,13 @@ Error ConfigFile::save(const String &p_path) { return err; } - for (Map >::Element *E = values.front(); E; E = E->next()) { + for (OrderedHashMap >::Element E = values.front(); E; E = E.next()) { if (E != values.front()) file->store_string("\n"); - file->store_string("[" + E->key() + "]\n\n"); + file->store_string("[" + E.key() + "]\n\n"); - for (OrderedHashMap::Element F = E->get().front(); F; F = F.next()) { + for (OrderedHashMap::Element F = E.get().front(); F; F = F.next()) { String vstr; VariantWriter::write_to_string(F.get(), vstr); diff --git a/core/io/config_file.h b/core/io/config_file.h index 2be196faa25..29bd369a24c 100644 --- a/core/io/config_file.h +++ b/core/io/config_file.h @@ -37,7 +37,7 @@ class ConfigFile : public Reference { GDCLASS(ConfigFile, Reference); - Map > values; + OrderedHashMap > 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 62eeedb437d..1ed5a5d3693 100644 --- a/core/ordered_hash_map.h +++ b/core/ordered_hash_map.h @@ -93,8 +93,12 @@ public: return *this; } - friend bool operator==(const Element &, const Element &); - friend bool operator!=(const Element &, const Element &); + _FORCE_INLINE_ bool operator==(const Element &p_other) const { + return this->list_element == p_other.list_element; + } + _FORCE_INLINE_ bool operator!=(const Element &p_other) const { + return this->list_element != p_other.list_element; + } operator bool() const { return (list_element != NULL); @@ -157,8 +161,12 @@ public: return ConstElement(list_element ? list_element->prev() : NULL); } - friend bool operator==(const ConstElement &, const ConstElement &); - friend bool operator!=(const ConstElement &, const ConstElement &); + _FORCE_INLINE_ bool operator==(const ConstElement &p_other) const { + return this->list_element == p_other.list_element; + } + _FORCE_INLINE_ bool operator!=(const ConstElement &p_other) const { + return this->list_element != p_other.list_element; + } operator bool() const { return (list_element != NULL); @@ -288,28 +296,4 @@ public: } }; -template -bool operator==(const typename OrderedHashMap::Element &first, - const typename OrderedHashMap::Element &second) { - return (first.list_element == second.list_element); -} - -template -bool operator!=(const typename OrderedHashMap::Element &first, - const typename OrderedHashMap::Element &second) { - return (first.list_element != second.list_element); -} - -template -bool operator==(const typename OrderedHashMap::ConstElement &first, - const typename OrderedHashMap::ConstElement &second) { - return (first.list_element == second.list_element); -} - -template -bool operator!=(const typename OrderedHashMap::ConstElement &first, - const typename OrderedHashMap::ConstElement &second) { - return (first.list_element != second.list_element); -} - #endif // ORDERED_HASH_MAP_H