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