Browse Source

Add Dictionary::erase_checked(key) method
Same as erase, but it returns a boolean value indicating whether the pair was erased or not.
This method should be removed during the next compatibility breakage, and 'Dictionary::erase(key)' should be changed to return a boolean.

Ignacio Etcheverry 7 years ago
parent
commit
2f69e36cef
2 changed files with 6 additions and 0 deletions
  1. 5 0
      core/dictionary.cpp
  2. 1 0
      core/dictionary.h

+ 5 - 0
core/dictionary.cpp

@@ -140,6 +140,11 @@ void Dictionary::erase(const Variant &p_key) {
 	_p->variant_map.erase(p_key);
 }
 
+bool Dictionary::erase_checked(const Variant &p_key) {
+
+	return _p->variant_map.erase(p_key);
+}
+
 bool Dictionary::operator==(const Dictionary &p_dictionary) const {
 
 	return _p == p_dictionary._p;

+ 1 - 0
core/dictionary.h

@@ -66,6 +66,7 @@ public:
 	bool has_all(const Array &p_keys) const;
 
 	void erase(const Variant &p_key);
+	bool erase_checked(const Variant &p_key);
 
 	bool operator==(const Dictionary &p_dictionary) const;