|
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