stl_tree.h: Make operators !=, == type safe for map, set.
authorBrad Garcia <bgarcia@laurelnetworks.com>
Thu, 7 Sep 2000 21:08:59 +0000 (21:08 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Thu, 7 Sep 2000 21:08:59 +0000 (21:08 +0000)
2000-09-07  Brad Garcia  <bgarcia@laurelnetworks.com>

* bits/stl_tree.h: Make operators !=, == type safe for map, set.
* testsuite/23_containers/set_operators.cc: New file. Should not
compile.
* testsuite/23_containers/map_operators.cc: New file. Ditto.

From-SVN: r36247

libstdc++-v3/ChangeLog
libstdc++-v3/bits/stl_tree.h

index c61d9ef196d8fc49896a5f004c715eea635807d2..119f88236ad8e854223a4cf4a02188fa53d66de7 100644 (file)
@@ -1,3 +1,10 @@
+2000-09-07  Brad Garcia  <bgarcia@laurelnetworks.com>
+
+       * bits/stl_tree.h: Make operators !=, == type safe for map, set.
+       * testsuite/23_containers/set_operators.cc: New file. Should not
+       compile.  
+       * testsuite/23_containers/map_operators.cc: New file. Ditto.
+       
 2000-09-06  Richard Henderson  <rth@cygnus.com>
            Benjamin Kosnik  <bkoz@cygnus.com>
 
index 9ab9dafcbeb1d96f1245fef2fbd2133b9380b689..1c78fd2aa45eb3067d1991b08ab37a51d85ca72a 100644 (file)
@@ -184,13 +184,15 @@ struct _Rb_tree_iterator : public _Rb_tree_base_iterator
   }
 };
 
-inline bool operator==(const _Rb_tree_base_iterator& __x,
-                       const _Rb_tree_base_iterator& __y) {
+template <class _Value, class _Ref, class _Ptr>
+inline bool operator==(const _Rb_tree_iterator<_Value, _Ref, _Ptr>& __x,
+                      const _Rb_tree_iterator<_Value, _Ref, _Ptr>& __y) {
   return __x._M_node == __y._M_node;
 }
 
-inline bool operator!=(const _Rb_tree_base_iterator& __x,
-                       const _Rb_tree_base_iterator& __y) {
+template <class _Value, class _Ref, class _Ptr>
+inline bool operator!=(const _Rb_tree_iterator<_Value, _Ref, _Ptr>& __x,
+                      const _Rb_tree_iterator<_Value, _Ref, _Ptr>& __y) {
   return __x._M_node != __y._M_node;
 }