summaryrefslogtreecommitdiff
path: root/news/nget/files/patch-auto_map.h
diff options
context:
space:
mode:
Diffstat (limited to 'news/nget/files/patch-auto_map.h')
-rw-r--r--news/nget/files/patch-auto_map.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/news/nget/files/patch-auto_map.h b/news/nget/files/patch-auto_map.h
new file mode 100644
index 000000000000..b61c670ef7c3
--- /dev/null
+++ b/news/nget/files/patch-auto_map.h
@@ -0,0 +1,47 @@
+--- auto_map.h 2004-06-17 14:00:33.000000000 -0700
++++ auto_map.h 2008-03-09 23:52:28.000000000 -0700
+@@ -23,10 +23,10 @@
+ #include <assert.h>
+ #include <map>
+
+-template <class K, class T, template <class BK, class BT> class Base>
+-class auto_map_base : public Base<K, restricted_ptr<T> > {
++template <class K, class T, class Base>
++class auto_map_base : public Base {
+ protected:
+- typedef Base<K, restricted_ptr<T> > super;
++ typedef Base super;
+ public:
+ typedef typename super::iterator iterator;
+
+@@ -55,9 +55,9 @@
+
+
+ template <class K, class T>
+-class auto_map : public auto_map_base<K, T, std::map> {
++class auto_map : public auto_map_base<K, T, std::map<K, restricted_ptr<T> > > {
+ public:
+- typedef typename auto_map_base<K, T, std::map>::super super;
++ typedef typename auto_map_base<K, T, std::map<K, restricted_ptr<T> > >::super super;
+ typedef typename super::iterator iterator;
+ typedef typename super::value_type value_type;
+ /*super::value_type value_type(const K &k, T*p) {
+@@ -68,15 +68,15 @@
+ return super::insert(v);
+ }*/
+ std::pair<iterator, bool> 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
+- assert(find(k)==this->end());
++ assert(this->find(k)==this->end());
+ return super::insert(value_type(k, restricted_ptr<T>(p)));
+ }
+ };
+
+ template <class K, class T>
+-class auto_multimap : public auto_map_base<K, T, std::multimap> {
++class auto_multimap : public auto_map_base<K, T, std::multimap<K, restricted_ptr<T> > > {
+ public:
+- typedef typename auto_map_base<K, T, std::multimap>::super super;
++ typedef typename auto_map_base<K, T, std::multimap<K, restricted_ptr<T> > >::super super;
+ typedef typename super::iterator iterator;
+ typedef typename super::value_type value_type;
+ 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