diff options
author | Tobias Markmann <tm@ayena.de> | 2014-10-19 20:22:58 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2014-10-20 13:49:33 (GMT) |
commit | 6b22dfcf59474dd016a0355a3102a1dd3692d92c (patch) | |
tree | 2b1fd33be433a91e81fee84fdc2bf1b52575d934 /3rdParty/Boost/src/boost/fusion/algorithm | |
parent | 38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff) | |
download | swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.tar.bz2 |
Update Boost in 3rdParty to version 1.56.0.
This updates Boost in our 3rdParty directory to version 1.56.0.
Updated our update.sh script to stop on error.
Changed error reporting in SwiftTools/CrashReporter.cpp to SWIFT_LOG due to
missing include of <iostream> with newer Boost.
Change-Id: I4b35c77de951333979a524097f35f5f83d325edc
Diffstat (limited to '3rdParty/Boost/src/boost/fusion/algorithm')
31 files changed, 140 insertions, 2 deletions
diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/auxiliary/copy.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/auxiliary/copy.hpp index fd86646..7ac8e6f 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/auxiliary/copy.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/auxiliary/copy.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_COPY_02162011_2308) #define FUSION_COPY_02162011_2308 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/end.hpp> #include <boost/fusion/sequence/intrinsic/size.hpp> @@ -33,12 +34,14 @@ namespace boost { namespace fusion typedef typename result_of::end<Seq2>::type end2_type; template <typename I1, typename I2> + BOOST_FUSION_GPU_ENABLED static void call(I1 const&, I2 const&, mpl::true_) { } template <typename I1, typename I2> + BOOST_FUSION_GPU_ENABLED static void call(I1 const& src, I2 const& dest, mpl::false_) { @@ -47,6 +50,7 @@ namespace boost { namespace fusion } template <typename I1, typename I2> + BOOST_FUSION_GPU_ENABLED static void call(I1 const& src, I2 const& dest) { @@ -57,6 +61,7 @@ namespace boost { namespace fusion } template <typename Seq1, typename Seq2> + BOOST_FUSION_GPU_ENABLED inline typename enable_if_c< @@ -69,7 +74,7 @@ namespace boost { namespace fusion copy(Seq1 const& src, Seq2& dest) { BOOST_STATIC_ASSERT( - result_of::size<Seq1>::value == result_of::size<Seq2>::value); + result_of::size<Seq1>::value <= result_of::size<Seq2>::value); detail::sequence_copy< Seq1 const, Seq2>:: diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/fold.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/fold.hpp index 174c4b1..71f60a7 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/fold.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/fold.hpp @@ -58,6 +58,7 @@ namespace boost { namespace fusion struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -103,6 +104,7 @@ namespace boost { namespace fusion struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)<Result,3> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -133,6 +135,7 @@ namespace boost { namespace fusion struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)<Result,2> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -150,6 +153,7 @@ namespace boost { namespace fusion struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)<Result,1> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -162,8 +166,9 @@ namespace boost { namespace fusion struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)<Result,0> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result - call(State const& state,It0 const& it0, F) + call(State const& state,It0 const&, F) { return static_cast<Result>(state); } @@ -340,6 +345,7 @@ namespace boost { namespace fusion >::type type; + BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { @@ -363,6 +369,7 @@ namespace boost { namespace fusion { typedef StateRef type; + BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { @@ -397,6 +404,7 @@ namespace boost { namespace fusion } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq , State const @@ -411,6 +419,7 @@ namespace boost { namespace fusion } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq const , State const @@ -425,6 +434,7 @@ namespace boost { namespace fusion } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq , State const @@ -439,6 +449,7 @@ namespace boost { namespace fusion } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq const , State const diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/for_each.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/for_each.hpp index 66a1935..81b3ab7 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/for_each.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/for_each.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_FOR_EACH_05052005_1028) #define FUSION_FOR_EACH_05052005_1028 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/end.hpp> #include <boost/fusion/iterator/equal_to.hpp> @@ -20,12 +21,14 @@ namespace boost { namespace fusion { namespace detail { template <typename First, typename Last, typename F> + BOOST_FUSION_GPU_ENABLED inline void for_each_linear(First const&, Last const&, F const&, mpl::true_) { } template <typename First, typename Last, typename F> + BOOST_FUSION_GPU_ENABLED inline void for_each_linear(First const& first, Last const& last, F const& f, mpl::false_) { @@ -36,6 +39,7 @@ namespace detail template <typename Sequence, typename F, typename Tag> + BOOST_FUSION_GPU_ENABLED inline void for_each_dispatch(Sequence& seq, F const& f, Tag) { @@ -52,6 +56,7 @@ namespace detail struct for_each_unrolled { template<typename I0, typename F> + BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); @@ -72,6 +77,7 @@ namespace detail struct for_each_unrolled<3> { template<typename I0, typename F> + BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); @@ -88,6 +94,7 @@ namespace detail struct for_each_unrolled<2> { template<typename I0, typename F> + BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); @@ -101,6 +108,7 @@ namespace detail struct for_each_unrolled<1> { template<typename I0, typename F> + BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); @@ -111,12 +119,14 @@ namespace detail struct for_each_unrolled<0> { template<typename It, typename F> + BOOST_FUSION_GPU_ENABLED static void call(It const&, F const&) { } }; template <typename Sequence, typename F> + BOOST_FUSION_GPU_ENABLED inline void for_each_dispatch(Sequence& seq, F const& f, random_access_traversal_tag) { @@ -126,6 +136,7 @@ namespace detail } template <typename Sequence, typename F> + BOOST_FUSION_GPU_ENABLED inline void for_each(Sequence& seq, F const& f, mpl::false_) // unsegmented implementation { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp index c89a7dd..140c70b 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp @@ -24,6 +24,7 @@ namespace boost { namespace fusion struct unrolled_fold { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -64,6 +65,7 @@ namespace boost { namespace fusion struct unrolled_fold<Result,3> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -90,6 +92,7 @@ namespace boost { namespace fusion struct unrolled_fold<Result,2> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -104,6 +107,7 @@ namespace boost { namespace fusion struct unrolled_fold<Result,1> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -115,6 +119,7 @@ namespace boost { namespace fusion struct unrolled_fold<Result,0> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { @@ -277,6 +282,7 @@ namespace boost { namespace fusion , SeqSize >::type type; + BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { @@ -296,6 +302,7 @@ namespace boost { namespace fusion struct fold_impl<0,StateRef,Seq,F> { typedef StateRef type; + BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { @@ -327,6 +334,7 @@ namespace boost { namespace fusion {}; } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq , State const @@ -340,6 +348,7 @@ namespace boost { namespace fusion f); } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq const , State const @@ -353,6 +362,7 @@ namespace boost { namespace fusion f); } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq , State const @@ -366,6 +376,7 @@ namespace boost { namespace fusion f); } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq const , State const diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp index 48a4134..cc78231 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp @@ -23,6 +23,7 @@ namespace boost { namespace fusion struct unrolled_reverse_fold { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -63,6 +64,7 @@ namespace boost { namespace fusion struct unrolled_reverse_fold<Result,3> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -89,6 +91,7 @@ namespace boost { namespace fusion struct unrolled_reverse_fold<Result,2> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -103,6 +106,7 @@ namespace boost { namespace fusion struct unrolled_reverse_fold<Result,1> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -114,6 +118,7 @@ namespace boost { namespace fusion struct unrolled_reverse_fold<Result,0> { template<typename State, typename It0, typename F> + BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { @@ -276,6 +281,7 @@ namespace boost { namespace fusion , SeqSize >::type type; + BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { @@ -295,6 +301,7 @@ namespace boost { namespace fusion struct reverse_fold_impl<0,StateRef,Seq,F> { typedef StateRef type; + BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { @@ -326,6 +333,7 @@ namespace boost { namespace fusion {}; } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq , State const @@ -339,6 +347,7 @@ namespace boost { namespace fusion f); } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq const , State const @@ -352,6 +361,7 @@ namespace boost { namespace fusion f); } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq , State const @@ -365,6 +375,7 @@ namespace boost { namespace fusion f); } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq const , State const diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp index 2371e18..58aab11 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp @@ -7,6 +7,7 @@ #if !defined(BOOST_FUSION_FOLD_S_HPP_INCLUDED) #define BOOST_FUSION_FOLD_S_HPP_INCLUDED +#include <boost/fusion/support/config.hpp> #include <boost/fusion/algorithm/iteration/fold_fwd.hpp> #include <boost/fusion/support/segmented_fold_until.hpp> @@ -15,6 +16,7 @@ namespace boost { namespace fusion { namespace detail template <typename Fun> struct segmented_fold_fun { + BOOST_FUSION_GPU_ENABLED explicit segmented_fold_fun(Fun const& f) : fun(f) {} @@ -27,6 +29,7 @@ namespace boost { namespace fusion { namespace detail typedef typename result_of::fold<Sequence, State, Fun>::type type; typedef mpl::true_ continue_type; + BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const& state, Context const&, segmented_fold_fun const& fun) { return fusion::fold(seq, state, fun.fun); @@ -49,6 +52,7 @@ namespace boost { namespace fusion { namespace detail >::type type; + BOOST_FUSION_GPU_ENABLED static type call(State& state, Sequence& seq, Fun fun) { return fusion::segmented_fold_until(seq, state, segmented_fold_fun<Fun>(fun)); diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp index f7ffb24..a5d6d4b 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp @@ -7,6 +7,7 @@ #if !defined(BOOST_FUSION_SEGMENTED_FOR_EACH_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_FOR_EACH_HPP_INCLUDED +#include <boost/fusion/support/config.hpp> #include <boost/mpl/bool.hpp> #include <boost/fusion/support/void.hpp> #include <boost/fusion/algorithm/iteration/for_each_fwd.hpp> @@ -17,6 +18,7 @@ namespace boost { namespace fusion { namespace detail template <typename Fun> struct segmented_for_each_fun { + BOOST_FUSION_GPU_ENABLED explicit segmented_for_each_fun(Fun const& f) : fun(f) {} @@ -29,6 +31,7 @@ namespace boost { namespace fusion { namespace detail typedef void_ type; typedef mpl::true_ continue_type; + BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const&, Context const&, segmented_for_each_fun const& fun) { fusion::for_each(seq, fun.fun); @@ -38,6 +41,7 @@ namespace boost { namespace fusion { namespace detail }; template <typename Sequence, typename F> + BOOST_FUSION_GPU_ENABLED inline void for_each(Sequence& seq, F const& f, mpl::true_) // segmented implementation { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/fold.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/fold.hpp index 813bb6b..a83b33b 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/fold.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/fold.hpp @@ -9,6 +9,7 @@ #ifndef BOOST_FUSION_ALGORITHM_ITERATION_FOLD_HPP #define BOOST_FUSION_ALGORITHM_ITERATION_FOLD_HPP +#include <boost/fusion/support/config.hpp> #include <boost/fusion/algorithm/iteration/fold_fwd.hpp> #include <boost/config.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp> diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/fold_fwd.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/fold_fwd.hpp index edb43e0..cd8dcd8 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/fold_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/fold_fwd.hpp @@ -17,6 +17,7 @@ namespace boost { namespace fusion } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED typename result_of::fold< Seq , State const @@ -25,6 +26,7 @@ namespace boost { namespace fusion fold(Seq& seq, State const& state, F f); template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED typename result_of::fold< Seq const , State const @@ -33,6 +35,7 @@ namespace boost { namespace fusion fold(Seq const& seq, State const& state, F f); template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED typename result_of::fold< Seq , State const @@ -41,6 +44,7 @@ namespace boost { namespace fusion fold(Seq& seq, State& state, F f); template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED typename result_of::fold< Seq const , State const diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/for_each.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/for_each.hpp index 17cde34..836f481 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/for_each.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/for_each.hpp @@ -8,6 +8,7 @@ #if !defined(BOOST_FUSION_FOR_EACH_20070527_0943) #define BOOST_FUSION_FOR_EACH_20070527_0943 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/algorithm/iteration/detail/for_each.hpp> #include <boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp> #include <boost/fusion/support/is_segmented.hpp> @@ -26,6 +27,7 @@ namespace boost { namespace fusion } template <typename Sequence, typename F> + BOOST_FUSION_GPU_ENABLED inline typename enable_if< @@ -38,6 +40,7 @@ namespace boost { namespace fusion } template <typename Sequence, typename F> + BOOST_FUSION_GPU_ENABLED inline typename enable_if< diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/for_each_fwd.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/for_each_fwd.hpp index b757873..44a3d1d 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/for_each_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/for_each_fwd.hpp @@ -7,6 +7,7 @@ #if !defined(BOOST_FUSION_FOR_EACH_FWD_HPP_INCLUDED) #define BOOST_FUSION_FOR_EACH_FWD_HPP_INCLUDED +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/is_sequence.hpp> #include <boost/utility/enable_if.hpp> @@ -19,6 +20,7 @@ namespace boost { namespace fusion } template <typename Sequence, typename F> + BOOST_FUSION_GPU_ENABLED inline typename enable_if< @@ -28,6 +30,7 @@ namespace boost { namespace fusion for_each(Sequence& seq, F const& f); template <typename Sequence, typename F> + BOOST_FUSION_GPU_ENABLED inline typename enable_if< diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/reverse_fold.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/reverse_fold.hpp index c8bdef5..76e6bf2 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/reverse_fold.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/reverse_fold.hpp @@ -9,6 +9,7 @@ #ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_HPP #define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_HPP +#include <boost/fusion/support/config.hpp> #include <boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp> #include <boost/config.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp> diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp index 40546b5..c5596e7 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp @@ -17,6 +17,7 @@ namespace boost { namespace fusion } template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED typename result_of::reverse_fold< Seq , State const @@ -25,6 +26,7 @@ namespace boost { namespace fusion reverse_fold(Seq& seq, State const& state, F f); template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED typename result_of::reverse_fold< Seq const , State const @@ -33,6 +35,7 @@ namespace boost { namespace fusion reverse_fold(Seq const& seq, State const& state, F f); template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED typename result_of::reverse_fold< Seq , State const @@ -41,6 +44,7 @@ namespace boost { namespace fusion reverse_fold(Seq& seq, State& state, F f); template<typename Seq, typename State, typename F> + BOOST_FUSION_GPU_ENABLED typename result_of::reverse_fold< Seq const , State const diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/query/any.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/query/any.hpp index 8b1fca0..4ab9714 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/query/any.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/query/any.hpp @@ -9,6 +9,7 @@ #if !defined(FUSION_ANY_05052005_1230) #define FUSION_ANY_05052005_1230 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/category_of.hpp> #include <boost/fusion/algorithm/query/detail/any.hpp> @@ -24,6 +25,7 @@ namespace boost { namespace fusion } template <typename Sequence, typename F> + BOOST_FUSION_GPU_ENABLED inline bool any(Sequence const& seq, F f) { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/any.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/any.hpp index 5f6b857..4e05368 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/any.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/any.hpp @@ -9,6 +9,7 @@ #if !defined(FUSION_ANY_05052005_1229) #define FUSION_ANY_05052005_1229 +#include <boost/fusion/support/config.hpp> #include <boost/mpl/bool.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/end.hpp> @@ -23,6 +24,7 @@ namespace boost { namespace fusion { namespace detail { template <typename First, typename Last, typename F> + BOOST_FUSION_GPU_ENABLED inline bool linear_any(First const&, Last const&, F const&, mpl::true_) { @@ -30,6 +32,7 @@ namespace detail } template <typename First, typename Last, typename F> + BOOST_FUSION_GPU_ENABLED inline bool linear_any(First const& first, Last const& last, F& f, mpl::false_) { @@ -43,6 +46,7 @@ namespace detail } template <typename Sequence, typename F, typename Tag> + BOOST_FUSION_GPU_ENABLED inline bool any(Sequence const& seq, F f, Tag) { @@ -59,6 +63,7 @@ namespace detail struct unrolled_any { template <typename It, typename F> + BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return @@ -74,6 +79,7 @@ namespace detail struct unrolled_any<3> { template <typename It, typename F> + BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return @@ -87,6 +93,7 @@ namespace detail struct unrolled_any<2> { template <typename It, typename F> + BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return @@ -99,6 +106,7 @@ namespace detail struct unrolled_any<1> { template <typename It, typename F> + BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return f(*it); @@ -109,6 +117,7 @@ namespace detail struct unrolled_any<0> { template <typename It, typename F> + BOOST_FUSION_GPU_ENABLED static bool call(It const&, F) { return false; @@ -116,6 +125,7 @@ namespace detail }; template <typename Sequence, typename F> + BOOST_FUSION_GPU_ENABLED inline bool any(Sequence const& seq, F f, random_access_traversal_tag) { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/find_if.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/find_if.hpp index f7bae45..41baab4 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/find_if.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/find_if.hpp @@ -9,6 +9,7 @@ #if !defined(FUSION_FIND_IF_05052005_1107) #define FUSION_FIND_IF_05052005_1107 +#include <boost/fusion/support/config.hpp> #include <boost/mpl/apply.hpp> #include <boost/mpl/eval_if.hpp> #include <boost/mpl/identity.hpp> @@ -183,6 +184,7 @@ namespace detail type; template <typename Iterator> + BOOST_FUSION_GPU_ENABLED static type recursive_call(Iterator const& iter, mpl::true_) { @@ -190,6 +192,7 @@ namespace detail } template <typename Iterator> + BOOST_FUSION_GPU_ENABLED static type recursive_call(Iterator const& iter, mpl::false_) { @@ -197,6 +200,7 @@ namespace detail } template <typename Iterator> + BOOST_FUSION_GPU_ENABLED static type recursive_call(Iterator const& iter) { @@ -205,6 +209,7 @@ namespace detail } template <typename Iterator, typename Tag> + BOOST_FUSION_GPU_ENABLED static type choose_call(Iterator const& iter, Tag) { @@ -212,6 +217,7 @@ namespace detail } template <typename Iterator> + BOOST_FUSION_GPU_ENABLED static type choose_call(Iterator const& iter, random_access_traversal_tag) { @@ -220,6 +226,7 @@ namespace detail } template <typename Iterator> + BOOST_FUSION_GPU_ENABLED static type iter_call(Iterator const& iter) { @@ -227,6 +234,7 @@ namespace detail } template <typename Sequence> + BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/segmented_find.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/segmented_find.hpp index ead5783..21c13a4 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/segmented_find.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/query/detail/segmented_find.hpp @@ -7,6 +7,7 @@ #if !defined(BOOST_FUSION_SEGMENTED_FIND_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_FIND_HPP_INCLUDED +#include <boost/fusion/support/config.hpp> #include <boost/mpl/eval_if.hpp> #include <boost/mpl/identity.hpp> #include <boost/fusion/algorithm/query/find_fwd.hpp> @@ -44,16 +45,19 @@ namespace boost { namespace fusion { namespace detail >::type type; + BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const&state, Context const& context, segmented_find_fun) { return call_impl(seq, state, context, continue_type()); } + BOOST_FUSION_GPU_ENABLED static type call_impl(Sequence&, State const&state, Context const&, mpl::true_) { return state; } + BOOST_FUSION_GPU_ENABLED static type call_impl(Sequence& seq, State const&, Context const& context, mpl::false_) { return fusion::make_segmented_iterator(fusion::find<T>(seq), context); @@ -74,6 +78,7 @@ namespace boost { namespace fusion { namespace detail >::type type; + BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return fusion::segmented_fold_until( diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/query/find.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/query/find.hpp index 16def08..56e53c3 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/query/find.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/query/find.hpp @@ -8,6 +8,7 @@ #if !defined(FUSION_FIND_05052005_1107) #define FUSION_FIND_05052005_1107 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/algorithm/query/find_if_fwd.hpp> #include <boost/fusion/algorithm/query/detail/find_if.hpp> #include <boost/fusion/algorithm/query/detail/segmented_find.hpp> @@ -46,6 +47,7 @@ namespace boost { namespace fusion } template <typename T, typename Sequence> + BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const<Sequence> @@ -58,6 +60,7 @@ namespace boost { namespace fusion } template <typename T, typename Sequence> + BOOST_FUSION_GPU_ENABLED inline typename result_of::find<Sequence const, T>::type const find(Sequence const& seq) { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/query/find_fwd.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/query/find_fwd.hpp index 96d989a..a43b5ea 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/query/find_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/query/find_fwd.hpp @@ -7,6 +7,7 @@ #if !defined(BOOST_FUSION_FIND_FWD_HPP_INCLUDED) #define BOOST_FUSION_FIND_FWD_HPP_INCLUDED +#include <boost/fusion/support/config.hpp> #include <boost/utility/enable_if.hpp> #include <boost/type_traits/is_const.hpp> @@ -19,6 +20,7 @@ namespace boost { namespace fusion } template <typename T, typename Sequence> + BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const<Sequence> @@ -27,6 +29,7 @@ namespace boost { namespace fusion find(Sequence& seq); template <typename T, typename Sequence> + BOOST_FUSION_GPU_ENABLED inline typename result_of::find<Sequence const, T>::type const find(Sequence const& seq); }} diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/query/find_if_fwd.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/query/find_if_fwd.hpp index adb8f2d..419a68c 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/query/find_if_fwd.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/query/find_if_fwd.hpp @@ -7,6 +7,7 @@ #if !defined(BOOST_FUSION_FIND_IF_FWD_HPP_INCLUDED) #define BOOST_FUSION_FIND_IF_FWD_HPP_INCLUDED +#include <boost/fusion/support/config.hpp> #include <boost/utility/enable_if.hpp> #include <boost/type_traits/is_const.hpp> @@ -20,6 +21,7 @@ namespace boost { namespace fusion } template <typename Pred, typename Sequence> + BOOST_FUSION_GPU_ENABLED typename lazy_disable_if< is_const<Sequence> @@ -28,6 +30,7 @@ namespace boost { namespace fusion find_if(Sequence& seq); template <typename Pred, typename Sequence> + BOOST_FUSION_GPU_ENABLED typename result_of::find_if<Sequence const, Pred>::type const find_if(Sequence const& seq); }} diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/erase.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/erase.hpp index 6ad737f..6ffdb4d 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/erase.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/erase.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_ERASE_07232005_0534) #define FUSION_ERASE_07232005_0534 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/iterator/equal_to.hpp> #include <boost/fusion/iterator/mpl/convert_iterator.hpp> #include <boost/fusion/container/vector/vector10.hpp> @@ -37,18 +38,21 @@ namespace boost { namespace fusion >::type type; + BOOST_FUSION_GPU_ENABLED static type call(First const& first, mpl::false_) { return fusion::next(convert_iterator<First>::call(first)); } + BOOST_FUSION_GPU_ENABLED static type call(First const& first, mpl::true_) { return convert_iterator<First>::call(first); } + BOOST_FUSION_GPU_ENABLED static type call(First const& first) { @@ -95,6 +99,7 @@ namespace boost { namespace fusion } template <typename Sequence, typename First> + BOOST_FUSION_GPU_ENABLED typename lazy_enable_if< traits::is_sequence<Sequence> @@ -117,6 +122,7 @@ namespace boost { namespace fusion } template <typename Sequence, typename First, typename Last> + BOOST_FUSION_GPU_ENABLED typename result_of::erase<Sequence const, First, Last>::type erase(Sequence const& seq, First const& first, Last const& last) { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/erase_key.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/erase_key.hpp index 383f4f8..4334004 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/erase_key.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/erase_key.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_ERASE_KEY_10022005_1851) #define FUSION_ERASE_KEY_10022005_1851 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/algorithm/query/find.hpp> #include <boost/fusion/algorithm/transformation/erase.hpp> #include <boost/mpl/not.hpp> @@ -23,6 +24,7 @@ namespace boost { namespace fusion } template <typename Key, typename Sequence> + BOOST_FUSION_GPU_ENABLED inline typename result_of::erase_key<Sequence const, Key>::type erase_key(Sequence const& seq) { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/filter_if.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/filter_if.hpp index d989d30..1b9f0d3 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/filter_if.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/filter_if.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_FILTER_IF_07172005_0818) #define FUSION_FILTER_IF_07172005_0818 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/view/filter_view/filter_view.hpp> namespace boost { namespace fusion @@ -21,6 +22,7 @@ namespace boost { namespace fusion } template <typename Pred, typename Sequence> + BOOST_FUSION_GPU_ENABLED inline typename result_of::filter_if<Sequence const, Pred>::type filter_if(Sequence const& seq) { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/insert.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/insert.hpp index 2052fc0..7859022 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/insert.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/insert.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_INSERT_07222005_0730) #define FUSION_INSERT_07222005_0730 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/detail/as_fusion_element.hpp> #include <boost/fusion/iterator/mpl/convert_iterator.hpp> #include <boost/fusion/container/vector/vector10.hpp> @@ -40,6 +41,7 @@ namespace boost { namespace fusion } template <typename Sequence, typename Position, typename T> + BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/insert_range.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/insert_range.hpp index f70a78e..660ed17 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/insert_range.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/insert_range.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_INSERT_RANGE_009172005_1147) #define FUSION_INSERT_RANGE_009172005_1147 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/iterator/mpl/convert_iterator.hpp> #include <boost/fusion/container/vector/vector10.hpp> #include <boost/fusion/view/joint_view/joint_view.hpp> @@ -35,6 +36,7 @@ namespace boost { namespace fusion } template <typename Sequence, typename Position, typename Range> + BOOST_FUSION_GPU_ENABLED inline typename result_of::insert_range<Sequence const, Position, Range const>::type insert_range(Sequence const& seq, Position const& pos, Range const& range) { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/pop_back.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/pop_back.hpp index 6059c55..b20b500 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/pop_back.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_POP_BACK_09172005_1038) #define FUSION_POP_BACK_09172005_1038 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/view/iterator_range/iterator_range.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/end.hpp> @@ -32,6 +33,7 @@ namespace boost { namespace fusion static bool const is_last = IsLast; + BOOST_FUSION_GPU_ENABLED pop_back_iterator(Iterator_ const& iterator_base) : base_type(iterator_base) {} @@ -40,6 +42,7 @@ namespace boost { namespace fusion { typedef pop_back_iterator<BaseIterator, is_last> type; + BOOST_FUSION_GPU_ENABLED static type call(BaseIterator const& i) { @@ -91,6 +94,7 @@ namespace boost { namespace fusion typedef pop_back_iterator<base_prior, false> type; + BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -112,6 +116,7 @@ namespace boost { namespace fusion typedef pop_back_iterator<base_prior, false> type; + BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -147,6 +152,7 @@ namespace boost { namespace fusion } template <typename Sequence> + BOOST_FUSION_GPU_ENABLED inline typename result_of::pop_back<Sequence const>::type pop_back(Sequence const& seq) { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/pop_front.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/pop_front.hpp index 75e392c..636ab12 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/pop_front.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/pop_front.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_POP_FRONT_09172005_1115) #define FUSION_POP_FRONT_09172005_1115 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/view/iterator_range/iterator_range.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/end.hpp> @@ -31,6 +32,7 @@ namespace boost { namespace fusion } template <typename Sequence> + BOOST_FUSION_GPU_ENABLED inline typename result_of::pop_front<Sequence const>::type pop_front(Sequence const& seq) { diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/push_back.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/push_back.hpp index 9afe538..484425d 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/push_back.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/push_back.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_PUSH_BACK_07162005_0235) #define FUSION_PUSH_BACK_07162005_0235 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/detail/as_fusion_element.hpp> #include <boost/fusion/view/joint_view/joint_view.hpp> #include <boost/fusion/view/single_view/single_view.hpp> @@ -26,6 +27,7 @@ namespace boost { namespace fusion } template <typename Sequence, typename T> + BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/push_front.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/push_front.hpp index abe7faa..bda056b 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/push_front.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/push_front.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_PUSH_FRONT_07162005_0749) #define FUSION_PUSH_FRONT_07162005_0749 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/detail/as_fusion_element.hpp> #include <boost/fusion/view/joint_view/joint_view.hpp> #include <boost/fusion/view/single_view/single_view.hpp> @@ -26,6 +27,7 @@ namespace boost { namespace fusion } template <typename Sequence, typename T> + BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/reverse.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/reverse.hpp index 923b90f..384224d 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/reverse.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/reverse.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_REVERSE_07212005_1230) #define FUSION_REVERSE_07212005_1230 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/view/reverse_view/reverse_view.hpp> #include <boost/fusion/support/is_sequence.hpp> #include <boost/utility/enable_if.hpp> @@ -23,6 +24,7 @@ namespace boost { namespace fusion } template <typename Sequence> + BOOST_FUSION_GPU_ENABLED inline typename enable_if< diff --git a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/transform.hpp b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/transform.hpp index 85e8561..94e4546 100644 --- a/3rdParty/Boost/src/boost/fusion/algorithm/transformation/transform.hpp +++ b/3rdParty/Boost/src/boost/fusion/algorithm/transformation/transform.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_TRANSFORM_07052005_1057) #define FUSION_TRANSFORM_07052005_1057 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/view/transform_view/transform_view.hpp> namespace boost { namespace fusion @@ -33,6 +34,7 @@ namespace boost { namespace fusion } template <typename Sequence, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::transform<Sequence const, F>::type transform(Sequence const& seq, F f) { @@ -40,6 +42,7 @@ namespace boost { namespace fusion } template <typename Sequence1, typename Sequence2, typename F> + BOOST_FUSION_GPU_ENABLED inline typename result_of::transform<Sequence1 const, Sequence2 const, F>::type transform(Sequence1 const& seq1, Sequence2 const& seq2, F f) { |