summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Alexander Böhn2017-06-03 07:07:37 -0400
committerGravatar Nikias Bassen2019-07-07 13:55:17 +0700
commit7d6b42c9e738c97f32023d78313ec390806a9731 (patch)
tree6c41c2b7c443e096ebb6d3a1b1eb5856a2eea0c0
parentec957fb8253ffbced690fb5bcb1743f015ab0815 (diff)
downloadlibplist-7d6b42c9e738c97f32023d78313ec390806a9731.tar.gz
libplist-7d6b42c9e738c97f32023d78313ec390806a9731.tar.bz2
Add PList::Dictionary::const_iterator
... and const versions of three member functions, each returning const_iterator: * Plist::Dictionary::Begin() * PList::Dictionary::End() * PList::Dictionary::Find()
-rw-r--r--include/plist/Dictionary.h4
-rw-r--r--src/Dictionary.cpp15
2 files changed, 19 insertions, 0 deletions
diff --git a/include/plist/Dictionary.h b/include/plist/Dictionary.h
index 7a29f14..71d40ac 100644
--- a/include/plist/Dictionary.h
+++ b/include/plist/Dictionary.h
@@ -41,11 +41,15 @@ public :
Node* Clone() const;
typedef std::map<std::string,Node*>::iterator iterator;
+ typedef std::map<std::string,Node*>::const_iterator const_iterator;
Node* operator[](const std::string& key);
iterator Begin();
iterator End();
iterator Find(const std::string& key);
+ const_iterator Begin() const;
+ const_iterator End() const;
+ const_iterator Find(const std::string& key) const;
iterator Set(const std::string& key, const Node* node);
iterator Set(const std::string& key, const Node& node);
iterator Insert(const std::string& key, Node* node) PLIST_WARN_DEPRECATED("use Set() instead");
diff --git a/src/Dictionary.cpp b/src/Dictionary.cpp
index 5e2e1c0..59908c6 100644
--- a/src/Dictionary.cpp
+++ b/src/Dictionary.cpp
@@ -104,11 +104,26 @@ Dictionary::iterator Dictionary::End()
return _map.end();
}
+Dictionary::const_iterator Dictionary::Begin() const
+{
+ return _map.begin();
+}
+
+Dictionary::const_iterator Dictionary::End() const
+{
+ return _map.end();
+}
+
Dictionary::iterator Dictionary::Find(const std::string& key)
{
return _map.find(key);
}
+Dictionary::const_iterator Dictionary::Find(const std::string& key) const
+{
+ return _map.find(key);
+}
+
Dictionary::iterator Dictionary::Set(const std::string& key, const Node* node)
{
if (node)