summaryrefslogtreecommitdiffstats
path: root/include/plist/Dictionary.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/plist/Dictionary.h')
-rw-r--r--include/plist/Dictionary.h31
1 files changed, 21 insertions, 10 deletions
diff --git a/include/plist/Dictionary.h b/include/plist/Dictionary.h
index a937bde..37ff1c9 100644
--- a/include/plist/Dictionary.h
+++ b/include/plist/Dictionary.h
@@ -19,8 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef PLIST__DICTIONARY_H
-#define PLIST__DICTIONARY_H
+#ifndef PLIST_DICTIONARY_H
+#define PLIST_DICTIONARY_H
#include <plist/Structure.h>
#include <map>
@@ -34,29 +34,40 @@ class Dictionary : public Structure
public :
Dictionary(Node* parent = NULL);
Dictionary(plist_t node, Node* parent = NULL);
- Dictionary(Dictionary& d);
- Dictionary& operator=(Dictionary& d);
+ Dictionary(const Dictionary& d);
+ Dictionary& operator=(const Dictionary& d);
virtual ~Dictionary();
- Node* Clone();
+ 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 begin();
iterator End();
+ iterator end();
iterator Find(const std::string& key);
- iterator Insert(const std::string& key, Node* node);
+ const_iterator Begin() const;
+ const_iterator begin() const;
+ const_iterator End() const;
+ const_iterator end() const;
+ size_t size() 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);
void Remove(Node* node);
void Remove(const std::string& key);
- std::string GetNodeKey(Node* key);
+ std::string GetNodeKey(Node* node);
+ template <typename T> T* Get(const std::string& key) {
+ return (T*)(_map[key]);
+ }
private :
std::map<std::string,Node*> _map;
-
-
};
};
-#endif // PLIST__DICTIONARY_H
+#endif // PLIST_DICTIONARY_H