Beam-lib  2.16.3
This is the Beam C++ class library.
BDictMap.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * BDictMap.h BEAM Dictionary class
3  * T.Barnaby, BEAM Ltd, 2008-05-21
4  * Copyright (c) 2012 All Right Reserved, Beam Ltd, http://www.beam.ltd.uk
5  *******************************************************************************
6  */
7 #ifndef BDictMap_H
8 #define BDictMap_H 1
9 
10 #include <BString.h>
11 #include <map>
12 
16 template <typename Value> class BDictMap : private std::map<BString, Value> {
17 public:
19 
20  void clear() { std::map<BString, Value>::clear(); }
21  int hasKey(const BString& k){ return std::map<BString, Value>::count(k); }
22  BString key(iterator& i) { return i->first; }
23  unsigned int size() { return std::map<BString, Value>::size(); }
24  void start(iterator& i) { i = std::map<BString, Value>::begin(); }
25  int isEnd(iterator& i) { return(i == std::map<BString, Value>::end()); }
26  void next(iterator& i) { ++i; }
27  void del(const iterator& i) { std::map<BString, Value>::erase(i); }
28  void del(const BString& k) { std::map<BString, Value>::erase(k); }
29  Value& operator[](iterator& i) { return i->second; }
30  Value& operator[](const BString& i) { return std::map<BString,Value>::operator[](i); }
31 private:
32 };
33 
35 
36 #endif
void start(iterator &i)
Definition: BDictMap.h:24
int hasKey(const BString &k)
Definition: BDictMap.h:21
Value & operator[](iterator &i)
Definition: BDictMap.h:29
void del(const iterator &i)
Definition: BDictMap.h:27
Value & operator[](const BString &i)
Definition: BDictMap.h:30
Definition: BDictMap.h:16
BString key(iterator &i)
Definition: BDictMap.h:22
Definition: BString.h:18
int isEnd(iterator &i)
Definition: BDictMap.h:25
void del(const BString &k)
Definition: BDictMap.h:28
unsigned int size()
Definition: BDictMap.h:23
BDictMap< Value >::iterator iterator
Definition: BDictMap.h:18
void clear()
Definition: BDictMap.h:20
void next(iterator &i)
Definition: BDictMap.h:26
BDictMap< BString > BDictMapString
Definition: BDictMap.h:34