Update of /cvsroot/boost/boost/boost/mpl/set/aux_
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv14704

Modified Files:
        begin_end_impl.hpp erase_key_impl.hpp insert_impl.hpp item.hpp 
        iterator.hpp set0.hpp 
Log Message:
'set' fixes + more thorough regression tests

Index: begin_end_impl.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/mpl/set/aux_/begin_end_impl.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- begin_end_impl.hpp  2 Sep 2004 15:41:02 -0000       1.3
+++ begin_end_impl.hpp  2 Apr 2007 07:40:19 -0000       1.4
@@ -2,7 +2,7 @@
 #ifndef BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
 #define BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
 
-// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright Aleksey Gurtovoy 2003-2007
 // Copyright David Abrahams 2003-2004
 //
 // Distributed under the Boost Software License, Version 1.0. 
@@ -24,8 +24,8 @@
 struct begin_impl< aux::set_tag >
 {
     template< typename Set > struct apply
+        : s_iter_get<Set,typename Set::item_>
     {
-        typedef s_iter<Set,Set> type;
     };
 };
 

Index: erase_key_impl.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/mpl/set/aux_/erase_key_impl.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- erase_key_impl.hpp  2 Sep 2004 15:41:02 -0000       1.2
+++ erase_key_impl.hpp  2 Apr 2007 07:40:19 -0000       1.3
@@ -2,7 +2,7 @@
 #ifndef BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
 #define BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
 
-// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright Aleksey Gurtovoy 2003-2007
 // Copyright David Abrahams 2003-2004
 //
 // Distributed under the Boost Software License, Version 1.0. 
@@ -40,7 +40,7 @@
             , eval_if< 
                   is_same< T,typename Set::item_type_ > 
                 , base<Set>
-                , identity< s_mask<T,Set> >
+                , identity< s_mask<T,typename Set::item_> >
                 >
             , identity<Set>
             >

Index: insert_impl.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/mpl/set/aux_/insert_impl.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- insert_impl.hpp     5 Sep 2004 09:42:59 -0000       1.4
+++ insert_impl.hpp     2 Apr 2007 07:40:19 -0000       1.5
@@ -2,7 +2,7 @@
 #ifndef BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED
 #define BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED
 
-// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright Aleksey Gurtovoy 2003-2007
 // Copyright David Abrahams 2003-2004
 //
 // Distributed under the Boost Software License, Version 1.0. 
@@ -36,7 +36,7 @@
         , eval_if< 
               is_same< T,typename Set::last_masked_ > 
             , base<Set>
-            , identity< s_item<T,Set> >
+            , identity< s_item<T,typename Set::item_> >
             >
         >
 {

Index: item.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/mpl/set/aux_/item.hpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- item.hpp    18 Jun 2005 22:03:09 -0000      1.7
+++ item.hpp    2 Apr 2007 07:40:19 -0000       1.8
@@ -2,7 +2,7 @@
 #ifndef BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
 #define BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
 
-// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright Aleksey Gurtovoy 2003-2007
 // Copyright David Abrahams 2003-2004
 //
 // Distributed under the Boost Software License, Version 1.0. 
@@ -31,9 +31,7 @@
 {
     typedef s_item<T,Base> item_;
     typedef void_       last_masked_;
-    typedef Base        next_;
     typedef T           item_type_;
-    typedef item_type_  type;
     typedef Base        base;
     
     typedef typename next< typename Base::size >::type  size;

Index: iterator.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/mpl/set/aux_/iterator.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- iterator.hpp        18 Jun 2005 22:03:09 -0000      1.4
+++ iterator.hpp        2 Apr 2007 07:40:19 -0000       1.5
@@ -2,7 +2,7 @@
 #ifndef BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED
 #define BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED
 
-// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright Aleksey Gurtovoy 2003-2007
 // Copyright David Abrahams 2003-2004
 //
 // Distributed under the Boost Software License, Version 1.0. 
@@ -26,21 +26,26 @@
 
 namespace boost { namespace mpl {
 
-// used by 's_iter_impl'
+// used by 's_iter_get'
 template< typename Set, typename Tail > struct s_iter;
 
+template< typename Set, typename Tail > struct s_iter_get
+    : eval_if< 
+          has_key< Set,typename Tail::item_type_ >
+        , identity< s_iter<Set,Tail> >
+        , next< s_iter<Set,Tail> >
+        >
+{
+};
+
 template< typename Set, typename Tail > struct s_iter_impl
 {
     typedef Tail                        tail_;
     typedef forward_iterator_tag        category;
-    typedef typename Tail::item_::type  type;
+    typedef typename Tail::item_type_   type;
 
 #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    typedef typename eval_if< 
-          has_key< Set,typename Tail::next_::type >
-        , identity< s_iter<Set,typename Tail::next_> >
-        , next< s_iter<Set,typename Tail::next_> >
-        >::type next;        
+    typedef typename s_iter_get< Set,typename Tail::base >::type next;
 #endif
 };
 
@@ -48,11 +53,7 @@
 
 template< typename Set, typename Tail > 
 struct next< s_iter<Set,Tail> >
-    : eval_if< 
-          has_key< Set,typename Tail::next_::type >
-        , identity< s_iter<Set,typename Tail::next_> >
-        , next< s_iter<Set,typename Tail::next_> >
-        >
+    : s_iter_get< Set,typename Tail::base >
 {
 };
 

Index: set0.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/mpl/set/aux_/set0.hpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- set0.hpp    18 Jun 2005 22:03:08 -0000      1.8
+++ set0.hpp    2 Apr 2007 07:40:19 -0000       1.9
@@ -53,10 +53,10 @@
 template< typename Dummy = na > struct set0
 {
     typedef set0<>          item_;
+    typedef item_           type;
     typedef aux::set_tag    tag;
     typedef void_           last_masked_;
     typedef void_           item_type_;
-    typedef item_type_      type;
     typedef long_<0>        size;
     typedef long_<1>        order;
 


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to