Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56358 - in sandbox/SOC/2009/fusion: . boost/fusion/algorithm/transformation/detail/filter_key_view boost/fusion/container/list boost/fusion/support boost/fusion/tuple boost/fusion/view/single_view boost/fusion/view/zip_view boost/fusion/view/zip_view/detail
From: mr.chr.schmidt_at_[hidden]
Date: 2009-09-22 14:50:56


Author: cschmidt
Date: 2009-09-22 14:50:54 EDT (Tue, 22 Sep 2009)
New Revision: 56358
URL: http://svn.boost.org/trac/boost/changeset/56358

Log:
minor bugfixes
Text files modified:
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp | 4 ++--
   sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp | 2 +-
   sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp | 23 +++++++++++++++++++----
   sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp | 3 +--
   sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp | 21 ++++++++++++++++-----
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/at_impl.hpp | 4 ++--
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/deref_impl.hpp | 4 ++--
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_iterator.hpp | 5 ++---
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp | 7 +++----
   sandbox/SOC/2009/fusion/build.bat | 4 ++--
   10 files changed, 50 insertions(+), 27 deletions(-)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp 2009-09-22 14:50:54 EDT (Tue, 22 Sep 2009)
@@ -18,10 +18,10 @@
 namespace boost { namespace fusion { namespace extension
 {
     template <typename>
- struct has_key;
+ struct has_key_impl;
 
     template <>
- struct has_key<detail::filter_key_view_tag>
+ struct has_key_impl<detail::filter_key_view_tag>
     {
         template <typename Seq,typename Key>
         struct apply

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp 2009-09-22 14:50:54 EDT (Tue, 22 Sep 2009)
@@ -173,7 +173,7 @@
         template<typename... CdrArgs>
         explicit
         cons(typename call_traits<Car>::param_type car,
- CdrArgs... const& cdr_args)
+ CdrArgs const&... cdr_args)
           : car(car)
           , cdr(cdr_args)
         {}

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp 2009-09-22 14:50:54 EDT (Tue, 22 Sep 2009)
@@ -16,6 +16,9 @@
 #include <boost/preprocessor/empty.hpp>
 #if defined(BOOST_NO_VARIADIC_TEMPLATES) && defined(BOOST_NO_RVALUE_REFERENCES)
 # include <boost/call_traits.hpp>
+#else
+# include <boost/utility/enable_if.hpp>
+# include <boost/type_traits/is_convertible.hpp>
 #endif
 
 namespace boost { namespace fusion
@@ -38,11 +41,11 @@
 
 #undef BOOST_FUSION_PAIR_CTOR
 
-#ifdef BOOST_NO_VARIADIC_TEMPLATES
         pair()
           : second()
         {}
 
+#ifdef BOOST_NO_VARIADIC_TEMPLATES
 # ifdef BOOST_NO_RVALUE_REFERENCES
         pair(typename call_traits<second_type>::param_type second)
           : second(second)
@@ -54,9 +57,21 @@
         {}
 # endif
 #else
- template<typename... Args>
- pair(BOOST_FUSION_R_ELSE_CLREF(Args)... args)
- : second(BOOST_FUSION_FORWARD(Args,args)...)
+ template<typename Arg>
+ pair(BOOST_FUSION_R_ELSE_CLREF(Arg) arg
+ , typename enable_if<
+ is_convertible<BOOST_FUSION_R_ELSE_CLREF(Arg),second_type>
+ >::type* =0)
+ : second(BOOST_FUSION_FORWARD(Arg,arg))
+ {}
+
+ template<typename Arg1, typename Arg2, typename... Args>
+ pair(BOOST_FUSION_R_ELSE_CLREF(Arg1) arg1
+ , BOOST_FUSION_R_ELSE_CLREF(Arg2) arg2
+ , BOOST_FUSION_R_ELSE_CLREF(Args)... args)
+ : second(BOOST_FUSION_FORWARD(Arg1,arg1),
+ BOOST_FUSION_FORWARD(Arg2,arg2),
+ BOOST_FUSION_FORWARD(Args,args)...)
         {}
 #endif
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp 2009-09-22 14:50:54 EDT (Tue, 22 Sep 2009)
@@ -42,8 +42,7 @@
         \
         template <typename A1, typename A2>\
         tuple(std::pair<A1, A2> COMBINATION pair)\
- : base_type(sequence_assign(\
- static_cast<std::pair<A1, A2> COMBINATION>(pair)))\
+ : base_type(static_cast<std::pair<A1, A2> COMBINATION>(pair))\
         {}
 
         BOOST_FUSION_ALL_CTOR_COMBINATIONS(TUPLE_CTOR,_)

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp 2009-09-22 14:50:54 EDT (Tue, 22 Sep 2009)
@@ -62,11 +62,11 @@
 
 #undef BOOST_FUSION_SINGLE_VIEW_CTOR
 
-#ifdef BOOST_NO_VARIADIC_TEMPLATES
         single_view()
           : val()
         {}
 
+#ifdef BOOST_NO_VARIADIC_TEMPLATES
 # ifdef BOOST_NO_RVALUE_REFERENCES
         explicit
         single_view(typename call_traits<T>::param_type val)
@@ -80,10 +80,21 @@
         {}
 # endif
 #else
- template<typename... Args>
- explicit
- single_view(BOOST_FUSION_R_ELSE_CLREF(Args)... args)
- : val(BOOST_FUSION_FORWARD(Args,args)...)
+ template<typename Arg>
+ single_view(BOOST_FUSION_R_ELSE_CLREF(Arg) arg
+ , typename enable_if<
+ is_convertible<BOOST_FUSION_R_ELSE_CLREF(Arg),value_type>
+ >::type* =0)
+ : val(BOOST_FUSION_FORWARD(Arg,arg))
+ {}
+
+ template<typename Arg1, typename Arg2, typename... Args>
+ single_view(BOOST_FUSION_R_ELSE_CLREF(Arg1) arg1
+ , BOOST_FUSION_R_ELSE_CLREF(Arg2) arg2
+ , BOOST_FUSION_R_ELSE_CLREF(Args)... args)
+ : val(BOOST_FUSION_FORWARD(Arg1,arg1),
+ BOOST_FUSION_FORWARD(Arg2,arg2),
+ BOOST_FUSION_FORWARD(Args,args)...)
         {}
 #endif
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/at_impl.hpp 2009-09-22 14:50:54 EDT (Tue, 22 Sep 2009)
@@ -79,8 +79,8 @@
                 static type
                 call(Seq seq)
                 {
- return type(sequence_assign(fusion::transform(
- seq.seqs, detail::poly_at<N>())));
+ return type(fusion::transform(
+ seq.seqs, detail::poly_at<N>()));
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/deref_impl.hpp 2009-09-22 14:50:54 EDT (Tue, 22 Sep 2009)
@@ -77,8 +77,8 @@
                 static type
                 call(It it)
                 {
- return type(sequence_assign(fusion::transform(
- it.iterators_, detail::poly_deref())));
+ return type(fusion::transform(
+ it.iterators_, detail::poly_deref()));
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_iterator.hpp 2009-09-22 14:50:54 EDT (Tue, 22 Sep 2009)
@@ -31,15 +31,14 @@
 
         template<typename OtherIt>
         zip_view_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
- : iterators_(sequence_assign(
- BOOST_FUSION_FORWARD(OtherIt,it).iterators_))
+ : iterators_(BOOST_FUSION_FORWARD(OtherIt,it).iterators_)
         {
             BOOST_FUSION_TAG_CHECK(OtherIt,zip_view_iterator_tag);
         }
 
         template<typename Seq>
         zip_view_iterator(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,int)
- : iterators_(sequence_assign(BOOST_FUSION_FORWARD(Seq,seq)))
+ : iterators_(BOOST_FUSION_FORWARD(Seq,seq))
         {}
 
         template<typename OtherIt>

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp 2009-09-22 14:50:54 EDT (Tue, 22 Sep 2009)
@@ -167,8 +167,8 @@
 #define BOOST_FUSION_ZIP_VIEW_CTOR(COMBINATION,_)\
         template<typename OtherSeqs>\
         zip_view(zip_view<OtherSeqs> COMBINATION view)\
- : seqs(sequence_assign(BOOST_FUSION_FORWARD(\
- zip_view<OtherSeqs> COMBINATION,view).seqs))\
+ : seqs(BOOST_FUSION_FORWARD(\
+ zip_view<OtherSeqs> COMBINATION,view).seqs)\
         {}
 
         BOOST_FUSION_ALL_CTOR_COMBINATIONS(BOOST_FUSION_ZIP_VIEW_CTOR,_)
@@ -178,8 +178,7 @@
         template<typename OtherSeqs>
         explicit
         zip_view(BOOST_FUSION_R_ELSE_CLREF(OtherSeqs) seqs)
- : seqs(fusion::sequence_assign(
- BOOST_FUSION_FORWARD(OtherSeqs,seqs)))
+ : seqs(BOOST_FUSION_FORWARD(OtherSeqs,seqs))
         {}
 
         template<typename OtherView>

Modified: sandbox/SOC/2009/fusion/build.bat
==============================================================================
--- sandbox/SOC/2009/fusion/build.bat (original)
+++ sandbox/SOC/2009/fusion/build.bat 2009-09-22 14:50:54 EDT (Tue, 22 Sep 2009)
@@ -18,11 +18,11 @@
     if "%1" == "vc9" (
         call :vc9
     ) else (
- if "%1" == "gcc3" (
+ if "%1" == "gcc3" (
             call :gcc3
         ) else (
             if "%1" == "" (
- call :vc9
+ call :gcc4
             ) else (
                 echo Unknown toolset '%1'
                 goto :eof


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk