|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r57276 - in sandbox/SOC/2009/fusion/boost/fusion: algorithm/iteration algorithm/iteration/detail algorithm/query algorithm/query/detail algorithm/transformation functional/generation/detail support/internal
From: mr.chr.schmidt_at_[hidden]
Date: 2009-11-01 12:47:17
Author: cschmidt
Date: 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
New Revision: 57276
URL: http://svn.boost.org/trac/boost/changeset/57276
Log:
spirit fixes (3)
Text files modified:
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp | 8 +++---
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp | 30 +++++++++++++-------------
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp | 10 ++++----
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp | 21 ++++++-------------
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp | 8 +++---
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp | 8 +++---
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp | 20 +++++++++---------
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp | 20 +++++++++---------
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp | 10 ++++----
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp | 8 +++---
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp | 12 +++++-----
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp | 43 ++++++++++++++++-----------------------
sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp | 6 ++--
sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp | 2 +
sandbox/SOC/2009/fusion/boost/fusion/support/internal/result_of.hpp | 20 ++++++++++--------
15 files changed, 108 insertions(+), 118 deletions(-)
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -30,11 +30,11 @@
inline typename result_of::accumulate<
BOOST_FUSION_R_ELSE_CLREF(Seq)
, BOOST_FUSION_R_ELSE_CLREF(State)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
>::type
accumulate(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
BOOST_FUSION_R_ELSE_CLREF(State) state,
- BOOST_FUSION_R_ELSE_CLREF(F) f)
+ BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return fusion::fold(
BOOST_FUSION_FORWARD(Seq,seq),
@@ -45,8 +45,8 @@
#ifdef BOOST_NO_RVALUE_REFERENCES
template <typename Seq, typename State, typename F>
inline typename
- result_of::accumulate<Seq&, State const&, F const&>::type
- accumulate(Seq& seq,State const& state,F const& f)
+ result_of::accumulate<Seq&, State const&, F>::type
+ accumulate(Seq& seq,State const& state,F f)
{
return fusion::fold(seq,state,f);
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -36,7 +36,7 @@
static Result
call(BOOST_FUSION_R_ELSE_CLREF(State) state,
It0 const& it0,
- BOOST_FUSION_R_ELSE_CLREF(F) f)
+ BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
typedef typename result_of::next<It0 const&>::type It1;
It1 it1 = fusion::next(it0);
@@ -71,7 +71,7 @@
static Result
call(BOOST_FUSION_R_ELSE_CLREF(State) state,
It0 const& it0,
- BOOST_FUSION_R_ELSE_CLREF(F) f)
+ BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
typedef typename result_of::next<It0 const&>::type It1;
It1 it1 = fusion::next(it0);
@@ -98,7 +98,7 @@
static Result
call(BOOST_FUSION_R_ELSE_CLREF(State) state,
It0 const& it0,
- BOOST_FUSION_R_ELSE_CLREF(F) f)
+ BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return f(
f(BOOST_FUSION_FORWARD(State,state),fusion::deref(it0)),
@@ -113,7 +113,7 @@
static Result
call(BOOST_FUSION_R_ELSE_CLREF(State) state,
It0 const& it0,
- BOOST_FUSION_R_ELSE_CLREF(F) f)
+ BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return f(BOOST_FUSION_FORWARD(State,state),fusion::deref(it0));
}
@@ -126,7 +126,7 @@
static Result
call(BOOST_FUSION_R_ELSE_CLREF(State) state,
It0 const&,
- BOOST_FUSION_R_ELSE_CLREF(F))
+ BOOST_FUSION_RREF_ELSE_OBJ(F))
{
return state;
}
@@ -218,10 +218,10 @@
typedef StateRef type;
};
- template<typename StateRef, typename It0, typename FRef, int SeqSize>
+ template<typename StateRef, typename It0, typename F, int SeqSize>
struct result_of_unrolled_fold_first
{
- typedef typename get_func_base<FRef>::type f;
+ typedef typename get_func_base<F>::type f;
typedef typename
result_of_unrolled_fold<
@@ -233,10 +233,10 @@
type;
};
- template<int SeqSize, typename StateRef, typename It0, typename FRef>
+ template<int SeqSize, typename StateRef, typename It0, typename F>
struct fold_impl
{
- typedef preevaluate<FRef> preevaluater;
+ typedef preevaluate<F> preevaluater;
typedef typename
mpl::eval_if<
@@ -245,29 +245,29 @@
, result_of_unrolled_fold_first<
StateRef
, It0
- , FRef
+ , F
, SeqSize
>
>::type
type;
static type
- call(StateRef state, It0 const& it0, FRef f)
+ call(StateRef state, It0 const& it0, F f)
{
return unrolled_fold<type, SeqSize>::call(
BOOST_FUSION_FORWARD(StateRef,state),
it0,
- BOOST_FUSION_FORWARD(FRef,f));
+ BOOST_FUSION_FORWARD(F,f));
}
};
- template<typename StateRef, typename It0, typename FRef>
- struct fold_impl<0,StateRef,It0,FRef>
+ template<typename StateRef, typename It0, typename F>
+ struct fold_impl<0,StateRef,It0,F>
{
typedef StateRef type;
static StateRef
- call(StateRef state, It0 const&, FRef)
+ call(StateRef state, It0 const&, F)
{
return state;
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -24,7 +24,7 @@
struct for_each_unrolled
{
template<typename It0, typename F>
- static void call(It0 const& it0, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ static void call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
typedef typename result_of::next<It0 const&>::type It1;
It1 it1(fusion::next(it0));
@@ -48,7 +48,7 @@
struct for_each_unrolled<3>
{
template<typename It0, typename F>
- static void call(It0 const& it0, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ static void call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
typedef typename result_of::next<It0 const&>::type It1;
It1 it1(fusion::next(it0));
@@ -63,7 +63,7 @@
struct for_each_unrolled<2>
{
template<typename It0, typename F>
- static void call(It0 const& it0, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ static void call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
f(fusion::deref(it0));
f(fusion::deref(fusion::next(it0)));
@@ -74,7 +74,7 @@
struct for_each_unrolled<1>
{
template<typename It0, typename F>
- static void call(It0 const& it0, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ static void call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
f(fusion::deref(it0));
}
@@ -84,7 +84,7 @@
struct for_each_unrolled<0>
{
template<typename It, typename F>
- static void call(It const&, BOOST_FUSION_R_ELSE_CLREF(F))
+ static void call(It const&, BOOST_FUSION_RREF_ELSE_OBJ(F))
{}
};
}}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -39,7 +39,7 @@
#endif
>::type
, typename begin<Seq>::type
- , typename detail::add_lref<F>::type
+ , F
>
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -52,36 +52,29 @@
result_of::fold<
BOOST_FUSION_R_ELSE_CLREF(Seq)
, BOOST_FUSION_R_ELSE_CLREF(State)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
>::type
fold(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
BOOST_FUSION_R_ELSE_CLREF(State) state,
- BOOST_FUSION_R_ELSE_CLREF(F) f)
+ BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return
result_of::fold<
BOOST_FUSION_R_ELSE_CLREF(Seq)
, BOOST_FUSION_R_ELSE_CLREF(State)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
>::call(state, fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)), f);
}
#ifdef BOOST_NO_RVALUE_REFERENCES
template <typename Seq, typename State, typename F>
- inline typename result_of::fold<Seq&,State const&,F const&>::type
+ inline typename result_of::fold<Seq&,State const&,F>::type
fold(Seq& seq,
State const& state,
- F const& f)
+ F f)
{
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4180)
-#endif
- return result_of::fold<Seq&,State const&,F const&>::call(
+ return result_of::fold<Seq&,State const&,F>::call(
state, fusion::begin(seq), f);
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
}
#endif
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -34,10 +34,10 @@
inline typename
result_of::for_each<
BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
>::type
for_each(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
- BOOST_FUSION_R_ELSE_CLREF(F) f)
+ BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
detail::for_each_unrolled<
result_of::size<BOOST_FUSION_R_ELSE_CLREF(Seq)>::value
@@ -47,8 +47,8 @@
#ifdef BOOST_NO_RVALUE_REFERENCES
template <typename Seq, typename F>
- inline typename result_of::for_each<Seq&,F const&>::type
- for_each(Seq& seq,F const& f)
+ inline typename result_of::for_each<Seq&,F>::type
+ for_each(Seq& seq,F f)
{
detail::for_each_unrolled<result_of::size<Seq>::value>::call(
fusion::begin(seq),f);
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -35,9 +35,9 @@
inline typename
result_of::all<
BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
>::type
- all(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ all(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return
detail::unrolled_all<
@@ -49,8 +49,8 @@
#ifdef BOOST_NO_RVALUE_REFERENCES
template <typename Seq, typename F>
- inline typename result_of::all<Seq&, F const&>::type
- all(Seq& seq, F const& f)
+ inline typename result_of::all<Seq&, F>::type
+ all(Seq& seq, F f)
{
return
detail::unrolled_all<
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -19,23 +19,23 @@
{
namespace detail
{
- template<typename FRef>
+ template<typename F>
struct any_helper
{
typedef bool result_type;
- any_helper(FRef f)
+ any_helper(F f)
: f(f)
{}
template<typename E>
inline bool
- operator()(BOOST_FUSION_R_ELSE_CLREF(E) e)const
+ operator()(BOOST_FUSION_R_ELSE_CLREF(E) e)
{
return !f(BOOST_FUSION_FORWARD(E,e));
}
- FRef f;
+ F f;
};
}
@@ -55,21 +55,21 @@
inline typename
result_of::any<
BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
>::type
- any(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ any(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return !fusion::all(
BOOST_FUSION_FORWARD(Seq,seq),
- detail::any_helper<BOOST_FUSION_R_ELSE_CLREF(F)>(f));
+ detail::any_helper<BOOST_FUSION_RREF_ELSE_OBJ(F)>(f));
}
#ifdef BOOST_NO_RVALUE_REFERENCES
template <typename Seq, typename F>
- inline typename result_of::any<Seq&,F const&>::type
- any(Seq& seq, F const& f)
+ inline typename result_of::any<Seq&,F>::type
+ any(Seq& seq, F f)
{
- return !fusion::all(seq,detail::any_helper<F const&>(f));
+ return !fusion::all(seq,detail::any_helper<F>(f));
}
#endif
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -18,23 +18,23 @@
{
namespace detail
{
- template<typename FRef>
+ template<typename F>
struct count_if_helper
{
typedef int result_type;
- count_if_helper(FRef f)
+ count_if_helper(F f)
: f(f)
{}
template<typename E>
inline int
- operator()(int count, BOOST_FUSION_R_ELSE_CLREF(E) e)const
+ operator()(int count, BOOST_FUSION_R_ELSE_CLREF(E) e)
{
return f(BOOST_FUSION_FORWARD(E,e)) ? ++count : count;
}
- FRef f;
+ F f;
};
}
@@ -54,23 +54,23 @@
inline typename
result_of::count_if<
BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
>::type
- count_if(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ count_if(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return fold(BOOST_FUSION_FORWARD(Seq,seq),
0,
- detail::count_if_helper<BOOST_FUSION_R_ELSE_CLREF(F)>(f));
+ detail::count_if_helper<BOOST_FUSION_RREF_ELSE_OBJ(F)>(f));
}
#ifdef BOOST_NO_RVALUE_REFERENCES
template <typename Seq, typename F>
- inline typename result_of::count_if<Seq&,F const&>::type
- count_if(Seq& seq, F const& f)
+ inline typename result_of::count_if<Seq&,F>::type
+ count_if(Seq& seq, F f)
{
return fold(seq,
0,
- detail::count_if_helper<F const&>(f));
+ detail::count_if_helper<F>(f));
}
#endif
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -24,7 +24,7 @@
{
template <typename It0, typename F>
static bool
- call(It0 const& it0, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
if(!f(fusion::deref(it0)))
{
@@ -63,7 +63,7 @@
{
template <typename It0, typename F>
static bool
- call(It0 const& it0, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
if(!f(fusion::deref(it0)))
{
@@ -88,7 +88,7 @@
{
template <typename It0, typename F>
static bool
- call(It0 const& it0, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
if(!f(fusion::deref(it0)))
{
@@ -106,7 +106,7 @@
{
template <typename It0, typename F>
static bool
- call(It0 const& it0, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return f(fusion::deref(it0));
}
@@ -121,7 +121,7 @@
constexpr
#endif
bool
- call(It0 const& it0, F const& f)
+ call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return true;
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -31,9 +31,9 @@
inline typename
result_of::none<
BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
>::type
- none(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_R_ELSE_CLREF(F) f)
+ none(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return !fusion::any(
BOOST_FUSION_FORWARD(Seq,seq),
@@ -42,8 +42,8 @@
#ifdef BOOST_NO_RVALUE_REFERENCES
template <typename Seq, typename F>
- inline typename result_of::none<Seq&, F const&>::type
- none(Seq& seq, F const& f)
+ inline typename result_of::none<Seq&, F>::type
+ none(Seq& seq, F f)
{
return !fusion::any(seq,f);
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -40,17 +40,17 @@
template <typename Seq, typename F, typename NewValue>
inline typename result_of::replace_if<
BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
, BOOST_FUSION_R_ELSE_CLREF(NewValue)
>::type
replace_if(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
- BOOST_FUSION_R_ELSE_CLREF(F) pred,
+ BOOST_FUSION_RREF_ELSE_OBJ(F) pred,
BOOST_FUSION_R_ELSE_CLREF(NewValue) new_value)
{
typedef
result_of::replace_if<
BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
, BOOST_FUSION_R_ELSE_CLREF(NewValue)
>
result;
@@ -63,10 +63,10 @@
#ifdef BOOST_NO_RVALUE_REFERENCES
template <typename Seq, typename F, typename NewValue>
- inline typename result_of::replace_if<Seq&, F const&, NewValue const&>::type
- replace_if(Seq& seq,F const& pred,NewValue const& new_value)
+ inline typename result_of::replace_if<Seq&, F, NewValue const&>::type
+ replace_if(Seq& seq,F pred,NewValue const& new_value)
{
- typedef result_of::replace_if<Seq&, F const&, NewValue const&> result;
+ typedef result_of::replace_if<Seq&, F, NewValue const&> result;
return typename result::type(seq,
typename result::replacer(pred,new_value));
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -82,16 +82,16 @@
inline typename
result_of::transform<
BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
, IsAssociative
>::type
transform(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
- BOOST_FUSION_R_ELSE_CLREF(F) f)
+ BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return typename
result_of::transform<
BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
, IsAssociative
>::type(BOOST_FUSION_FORWARD(Seq,seq), BOOST_FUSION_FORWARD(F,f));
}
@@ -100,46 +100,39 @@
inline typename
result_of::transform<
BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
>::type
transform(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
- BOOST_FUSION_R_ELSE_CLREF(F) f)
+ BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return typename
result_of::transform<
BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(F)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
>::type(BOOST_FUSION_FORWARD(Seq,seq), BOOST_FUSION_FORWARD(F,f));
}
#ifdef BOOST_NO_RVALUE_REFERENCES
template <typename IsAssociative,typename Seq, typename F>
- inline typename result_of::transform<Seq&, F const&>::type
- transform(Seq& seq, F const& f)
+ inline typename result_of::transform<Seq&, F>::type
+ transform(Seq& seq, F f)
{
#ifdef BOOST_MSVC
# pragma warning(push)
# pragma warning(disable: 4180)
#endif
return typename
- result_of::transform<Seq&, F const&,IsAssociative>::type(seq, f);
+ result_of::transform<Seq&, F,IsAssociative>::type(seq, f);
#ifdef BOOST_MSVC
# pragma warning(pop)
#endif
}
template <typename Seq, typename F>
- inline typename result_of::transform<Seq&, F const&>::type
- transform(Seq& seq, F const& f)
+ inline typename result_of::transform<Seq&, F>::type
+ transform(Seq& seq, F f)
{
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4180)
-#endif
- return typename result_of::transform<Seq&, F const&>::type(seq, f);
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
+ return typename result_of::transform<Seq&, F>::type(seq, f);
}
#endif
@@ -149,18 +142,18 @@
result_of::transform<\
Seq1 SEQ1_CV_REF_MODIFIER\
, Seq2 SEQ2_CV_REF_MODIFIER\
- , BOOST_FUSION_R_ELSE_CLREF(F)\
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)\
, IsAssociative\
>::type\
transform(Seq1 SEQ1_CV_REF_MODIFIER seq1\
, Seq2 SEQ2_CV_REF_MODIFIER seq2\
- , BOOST_FUSION_R_ELSE_CLREF(F) f)\
+ , BOOST_FUSION_RREF_ELSE_OBJ(F) f)\
{\
return typename\
result_of::transform<\
Seq1 SEQ1_CV_REF_MODIFIER\
, Seq2 SEQ2_CV_REF_MODIFIER\
- , BOOST_FUSION_R_ELSE_CLREF(F)\
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)\
, IsAssociative\
>::type(BOOST_FUSION_FORWARD(Seq1 SEQ1_CV_REF_MODIFIER,seq1)\
, BOOST_FUSION_FORWARD(Seq2 SEQ2_CV_REF_MODIFIER,seq2)\
@@ -172,17 +165,17 @@
result_of::transform<\
Seq1 SEQ1_CV_REF_MODIFIER\
, Seq2 SEQ2_CV_REF_MODIFIER\
- , BOOST_FUSION_R_ELSE_CLREF(F)\
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)\
>::type\
transform(Seq1 SEQ1_CV_REF_MODIFIER seq1\
, Seq2 SEQ2_CV_REF_MODIFIER seq2\
- , BOOST_FUSION_R_ELSE_CLREF(F) f)\
+ , BOOST_FUSION_RREF_ELSE_OBJ(F) f)\
{\
return typename\
result_of::transform<\
Seq1 SEQ1_CV_REF_MODIFIER\
, Seq2 SEQ2_CV_REF_MODIFIER\
- , BOOST_FUSION_R_ELSE_CLREF(F)\
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)\
>::type(BOOST_FUSION_FORWARD(Seq1 SEQ1_CV_REF_MODIFIER,seq1)\
, BOOST_FUSION_FORWARD(Seq2 SEQ2_CV_REF_MODIFIER,seq2)\
, BOOST_FUSION_FORWARD(F,f));\
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -30,11 +30,11 @@
template<typename F>
inline typename
- result_of::BOOST_FUSION_FUNC_NAME<BOOST_FUSION_R_ELSE_CLREF(F)>::type
- BOOST_FUSION_FUNC_NAME(BOOST_FUSION_R_ELSE_CLREF(F) f)
+ result_of::BOOST_FUSION_FUNC_NAME<BOOST_FUSION_RREF_ELSE_OBJ(F)>::type
+ BOOST_FUSION_FUNC_NAME(BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
return typename
- result_of::BOOST_FUSION_FUNC_NAME<BOOST_FUSION_R_ELSE_CLREF(F)>::
+ result_of::BOOST_FUSION_FUNC_NAME<BOOST_FUSION_RREF_ELSE_OBJ(F)>::
type(BOOST_FUSION_FORWARD(F,f));
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -36,6 +36,7 @@
//get a lot of problems with older compilers. On top of that, fusion
//types are not meant to be volatile anyway.
#ifdef BOOST_NO_RVALUE_REFERENCES
+# define BOOST_FUSION_RREF_ELSE_OBJ(OBJECT) OBJECT
# define BOOST_FUSION_R_ELSE_LREF(OBJECT) OBJECT&
# define BOOST_FUSION_R_ELSE_CLREF(OBJECT) OBJECT const&
@@ -47,6 +48,7 @@
MACRO(const&,ARG)\
MACRO(&,ARG)
#else
+# define BOOST_FUSION_RREF_ELSE_OBJ(OBJECT) OBJECT&&
# define BOOST_FUSION_R_ELSE_LREF(OBJECT) OBJECT&&
# define BOOST_FUSION_R_ELSE_CLREF(OBJECT) OBJECT&&
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/result_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/result_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/result_of.hpp 2009-11-01 12:47:15 EST (Sun, 01 Nov 2009)
@@ -53,10 +53,10 @@
//T(C::*cv&)()cv&
//& -> &&
- template<typename FRef>
+ template<typename F>
struct is_po_callable
{
- typedef typename identity<FRef>::type identity_f;
+ typedef typename identity<F>::type identity_f;
typedef typename is_pointer<identity_f>::type is_pointer;
typedef typename remove_pointer<identity_f>::type f;
@@ -144,7 +144,7 @@
};
#endif
- template<typename FRef>
+ template<typename F>
struct preevaluate
{
#if defined(BOOST_NO_VARIADIC_TEMPLATES) && !defined(BOOST_NO_DECLTYPE)
@@ -152,7 +152,7 @@
#else
typedef
preevaluate_impl<
- typename remove_pointer<typename identity<FRef>::type>::type
+ typename remove_pointer<typename identity<F>::type>::type
>
gen;
typedef typename gen::type type;
@@ -161,15 +161,17 @@
};
//cschmidt: boost::result_of does not like ref-qualified
- //'class type' functions
- template<typename FRef>
+ //'class type' functors
+ template<typename F>
struct get_func_base
{
+ typedef is_po_callable<F> is_po_callable_;
+
typedef typename
mpl::if_<
- typename is_po_callable<FRef>::type
- , FRef
- , typename is_po_callable<FRef>::f
+ typename is_po_callable_::type
+ , typename is_po_callable_::f&
+ , typename is_po_callable_::identity_f
>::type
type;
};
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