Lines 53-63
Link Here
|
53 |
auto_map_base& operator= (const auto_map_base &m); //private operator= to disallow assignment |
53 |
auto_map_base& operator= (const auto_map_base &m); //private operator= to disallow assignment |
54 |
}; |
54 |
}; |
55 |
|
55 |
|
|
|
56 |
template <class K, class T> |
57 |
class default_map : public std::map<K, T> { |
58 |
}; |
56 |
|
59 |
|
57 |
template <class K, class T> |
60 |
template <class K, class T> |
58 |
class auto_map : public auto_map_base<K, T, std::map> { |
61 |
class auto_map : public auto_map_base<K, T, default_map> { |
59 |
public: |
62 |
public: |
60 |
typedef typename auto_map_base<K, T, std::map>::super super; |
63 |
typedef typename auto_map_base<K, T, default_map>::super super; |
61 |
typedef typename super::iterator iterator; |
64 |
typedef typename super::iterator iterator; |
62 |
typedef typename super::value_type value_type; |
65 |
typedef typename super::value_type value_type; |
63 |
/*super::value_type value_type(const K &k, T*p) { |
66 |
/*super::value_type value_type(const K &k, T*p) { |
Lines 74-82
Link Here
|
74 |
}; |
77 |
}; |
75 |
|
78 |
|
76 |
template <class K, class T> |
79 |
template <class K, class T> |
77 |
class auto_multimap : public auto_map_base<K, T, std::multimap> { |
80 |
class default_multimap : public std::multimap<K, T> { |
|
|
81 |
}; |
82 |
|
83 |
template <class K, class T> |
84 |
class auto_multimap : public auto_map_base<K, T, default_multimap> { |
78 |
public: |
85 |
public: |
79 |
typedef typename auto_map_base<K, T, std::multimap>::super super; |
86 |
typedef typename auto_map_base<K, T, default_multimap>::super super; |
80 |
typedef typename super::iterator iterator; |
87 |
typedef typename super::iterator iterator; |
81 |
typedef typename super::value_type value_type; |
88 |
typedef typename super::value_type value_type; |
82 |
iterator insert_value(const K &k, T* p) { //we can't really use the normal insert funcs, but we don't want to just name it insert since it would be easy to confuse with all the normal map insert funcs |
89 |
iterator insert_value(const K &k, T* p) { //we can't really use the normal insert funcs, but we don't want to just name it insert since it would be easy to confuse with all the normal map insert funcs |