Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56478 - in sandbox/SOC/2009/fusion: . boost/fusion/functional/invocation/detail/0x boost/fusion/sequence/intrinsic boost/fusion/view/detail boost/fusion/view/filter_view/detail boost/fusion/view/joint_view/detail boost/fusion/view/repetitive_view/detail boost/fusion/view/reverse_view/detail
From: mr.chr.schmidt_at_[hidden]
Date: 2009-09-29 17:35:32


Author: cschmidt
Date: 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
New Revision: 56478
URL: http://svn.boost.org/trac/boost/changeset/56478

Log:
bugfixes
Text files modified:
   sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl_detail.hpp | 2 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp | 2 +-
   sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp | 3 +++
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp | 2 +-
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp | 2 +-
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/advance_impl.hpp | 4 ++--
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp | 2 +-
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp | 8 ++------
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp | 17 +++++++----------
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp | 25 +++++++++++++------------
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_iterator.hpp | 13 ++++++++++---
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp | 2 +-
   sandbox/SOC/2009/fusion/project-root.jam | 2 +-
   13 files changed, 44 insertions(+), 40 deletions(-)

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl_detail.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl_detail.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl_detail.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -354,7 +354,7 @@
                         f,
                         seq,
                         mpl::int_<NumArgsLeft-1>(),
- deref(advance_c<NumArgsLeft-1>(
+ fusion::deref(fusion::advance_c<NumArgsLeft-1>(
                             fusion::begin(std::forward<Seq>(seq))
                         )),
                         std::forward<Args>(args)...);

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -40,7 +40,7 @@
                 static type
                 call(Seq seq)
                 {
- return deref_data(find_key<Key>(
+ return fusion::deref_data(fusion::find_key<Key>(
                         BOOST_FUSION_FORWARD(Seq,seq)));
                 }
             };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -16,6 +16,8 @@
 #include <boost/type_traits/add_const.hpp>
 #include <boost/type_traits/remove_const.hpp>
 
+//TODO is_convertible assert
+
 namespace boost { namespace fusion { namespace detail
 {
     template<typename T>
@@ -37,6 +39,7 @@
         }
 
     public:
+ typedef T arg_type;
         typedef typename
             mpl::if_<
                 traits::is_view<T>

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -30,7 +30,7 @@
             static type
             call(It it)
             {
- return deref_data(it.first);
+ return fusion::deref_data(it.first);
             }
         };
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -30,7 +30,7 @@
             static type
             call(It it)
             {
- return deref_data(it.first);
+ return fusion::deref_data(it.first);
             }
         };
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/advance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/advance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/advance_impl.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -67,7 +67,7 @@
             static type
             call(It const& it)
             {
- return fusion::advance<real_n>(fusion::begin(it.seq));
+ return fusion::advance<real_n>(fusion::begin(it.seq.get()));
             }
         };
     }
@@ -97,7 +97,7 @@
                 static type
                 call(It it)
                 {
- return type(it.seq,gen::call(it));
+ return type(it.seq.get(),gen::call(it));
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -30,7 +30,7 @@
             static type
             call(It it)
             {
- return deref_data(it.first);
+ return fusion::deref_data(it.it);
             }
         };
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -25,18 +25,14 @@
         {
             typedef typename
                 result_of::deref<
- typename result_of::prior<
- typename detail::remove_reference<
- It
- >::type::it_type
- >::type
+ typename detail::remove_reference<It>::type::it_type
>::type
             type;
 
             static type
             call(It it)
             {
- return fusion::deref(fusion::prior(it.first));
+ return fusion::deref(it.it);
             }
         };
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -26,13 +26,10 @@
         struct apply
         {
             typedef typename detail::remove_reference<It>::type it;
- typedef typename
- detail::remove_reference<typename it::seq_type>::seq_type
- real_seq_type;
             typedef
                 mpl::equal_to<
- mpl::next<typename it::index>
- , result_of::size<real_seq_type>
+ typename mpl::next<typename it::index>::type
+ , result_of::size<typename it::seq_type>
>
             need_begin_it;
 
@@ -41,23 +38,23 @@
                     typename it::seq_type
                   , typename mpl::eval_if<
                         need_begin_it
- , result_of::begin<real_seq_type>
- , result_of::prior<typename it::it>
+ , result_of::begin<typename it::seq_type>
+ , result_of::next<typename it::it_type>
>::type
- , mpl::next<typename it::index>::value
+ , mpl::next<typename it::index>::type::value
>
             type;
 
             static type
             call_impl(It it, mpl::true_ /*need_begin_it*/)
             {
- return type(it.seq,fusion::begin(it.seq.seq.get()));
+ return type(it.seq.get(),fusion::begin(it.seq.seq.get()));
             }
 
             static type
             call_impl(It it, mpl::false_ /*need_begin_it*/)
             {
- return type(it.seq,fusion::next(it.it));
+ return type(it.seq.get(),fusion::next(it.it));
             }
 
             static type

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -11,6 +11,7 @@
 #include <boost/fusion/sequence/intrinsic/end.hpp>
 #include <boost/fusion/iterator/prior.hpp>
 
+#include <boost/mpl/identity.hpp>
 #include <boost/mpl/bool.hpp>
 #include <boost/mpl/next.hpp>
 #include <boost/mpl/equal_to.hpp>
@@ -24,32 +25,32 @@
         struct apply
         {
             typedef typename detail::remove_reference<It>::type it;
- typedef typename
- detail::remove_reference<typename it::seq_type>::seq_type
- real_seq_type;
 
             typedef
                 repetitive_view_iterator<
                     typename it::seq_type
- , typename mpl::eval_if<
- typename it::index
- , result_of::prior<typename it::it>
- , result_of::end<real_seq_type>
+ , typename result_of::prior<
+ typename mpl::eval_if<
+ typename it::index
+ , mpl::identity<typename it::it_type>
+ , result_of::end<typename it::seq_type>
+ >::type
>::type
- , mpl::next<typename it::index>::value
+ , mpl::next<typename it::index>::type::value
>
             type;
 
             static type
- call_impl(It it, mpl::true_ /*need_end_it*/)
+ call_impl(It it, mpl::false_ /*need_end_it*/)
             {
- return type(it.seq,fusion::end(it.seq.seq.get()));
+ return type(it.seq.get(),
+ fusion::prior(fusion::end(it.seq.get())));
             }
 
             static type
- call_impl(It it, mpl::false_ /*need_end_it*/)
+ call_impl(It it, mpl::true_ /*need_end_it*/)
             {
- return type(it.seq,fusion::prior(it.it));
+ return type(it.seq.get(),fusion::prior(it.it));
             }
 
             static type

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_iterator.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -42,8 +42,15 @@
             BOOST_FUSION_TAG_CHECK(OtherIt,repetitive_view_iterator_tag);
         }
 
- repetitive_view_iterator(Seq seq, It const& it)
- : seq(seq)
+ template<typename OtherSeq>
+ repetitive_view_iterator(
+#ifdef BOOST_NO_RVALUE_REFERENCES
+ typename detail::view_storage<Seq>::call_param seq,
+#else
+ OtherSeq&& other_seq,
+#endif
+ It const& it)
+ : seq(BOOST_FUSION_FORWARD(OtherSeq,other_seq))
           , it(it)
         {}
 
@@ -58,7 +65,7 @@
             return *this;
         }
 
- Seq seq;
+ detail::view_storage<Seq> seq;
         It it;
     };
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -30,7 +30,7 @@
             static type
             call(It it)
             {
- return deref_data(it.first);
+ return fusion::deref_data(it.first);
             }
         };
     };

Modified: sandbox/SOC/2009/fusion/project-root.jam
==============================================================================
--- sandbox/SOC/2009/fusion/project-root.jam (original)
+++ sandbox/SOC/2009/fusion/project-root.jam 2009-09-29 17:35:30 EDT (Tue, 29 Sep 2009)
@@ -24,4 +24,4 @@
 #build-project libs/fusion/doc ;
 #build-project libs/fusion/example/extension ;
 #build-project libs/fusion/example/performance ;
-build-project libs/fusion/test ;
\ No newline at end of file
+#build-project libs/fusion/test ;
\ No newline at end of file


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