From 2f69e36cef8acca00ec5445f4aa8ec538bb38e3e Mon Sep 17 00:00:00 2001 From: Ignacio Etcheverry Date: Wed, 18 Jul 2018 23:07:31 +0200 Subject: [PATCH] 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. --- core/dictionary.cpp | 5 +++++ core/dictionary.h | 1 + 2 files changed, 6 insertions(+) diff --git a/core/dictionary.cpp b/core/dictionary.cpp index d68411a5728..42d9eab3106 100644 --- a/core/dictionary.cpp +++ b/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; diff --git a/core/dictionary.h b/core/dictionary.h index 84a5cafe1d1..00ec67fb992 100644 --- a/core/dictionary.h +++ b/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;