forked from boostorg/fusion
gpu-enable functions
This commit is contained in:
committed by
Eric Niebler
parent
867c7e5dfb
commit
c4f9f0d1b6
@ -8,6 +8,7 @@
|
||||
|
||||
#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_FUNCTIONAL_ADAPTER_HPP_INCLUDED
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/functional/adapter/fused.hpp>
|
||||
#include <boost/fusion/functional/adapter/fused_procedure.hpp>
|
||||
#include <boost/fusion/functional/adapter/fused_function_object.hpp>
|
||||
|
@ -9,6 +9,7 @@
|
||||
#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/type_traits/add_reference.hpp>
|
||||
#include <boost/config.hpp>
|
||||
|
||||
@ -41,6 +42,7 @@ namespace boost { namespace fusion
|
||||
{ }
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke<func_const_fwd_t,Seq const>::type
|
||||
operator()(Seq const & s) const
|
||||
{
|
||||
@ -48,6 +50,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke<func_fwd_t,Seq const>::type
|
||||
operator()(Seq const & s)
|
||||
{
|
||||
@ -55,6 +58,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke<func_const_fwd_t,Seq>::type
|
||||
operator()(Seq & s) const
|
||||
{
|
||||
@ -62,6 +66,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke<func_fwd_t,Seq>::type
|
||||
operator()(Seq & s)
|
||||
{
|
||||
|
@ -9,6 +9,7 @@
|
||||
#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/type_traits/add_reference.hpp>
|
||||
#include <boost/config.hpp>
|
||||
|
||||
@ -41,6 +42,7 @@ namespace boost { namespace fusion
|
||||
{ }
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke_function_object<func_const_fwd_t,
|
||||
Seq const>::type operator()(Seq const & s) const
|
||||
{
|
||||
@ -49,6 +51,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke_function_object<func_fwd_t,
|
||||
Seq const>::type
|
||||
operator()(Seq const & s)
|
||||
@ -58,6 +61,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke_function_object<func_const_fwd_t,
|
||||
Seq>::type
|
||||
operator()(Seq & s) const
|
||||
@ -67,6 +71,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke_function_object<func_fwd_t,Seq>::type
|
||||
operator()(Seq & s)
|
||||
{
|
||||
|
@ -9,6 +9,7 @@
|
||||
#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/type_traits/add_reference.hpp>
|
||||
#include <boost/config.hpp>
|
||||
|
||||
@ -41,6 +42,7 @@ namespace boost { namespace fusion
|
||||
{ }
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline void operator()(Seq const & s) const
|
||||
{
|
||||
fusion::invoke_procedure<
|
||||
@ -48,6 +50,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline void operator()(Seq const & s)
|
||||
{
|
||||
fusion::invoke_procedure<
|
||||
@ -55,6 +58,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline void operator()(Seq & s) const
|
||||
{
|
||||
fusion::invoke_procedure<
|
||||
@ -62,6 +66,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Seq>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline void operator()(Seq & s)
|
||||
{
|
||||
return fusion::invoke_procedure<
|
||||
|
@ -47,14 +47,14 @@ namespace boost { namespace fusion
|
||||
|
||||
using unfused<Function,false>::operator();
|
||||
|
||||
inline explicit unfused(func_const_fwd_t f = function())
|
||||
BOOST_FUSION_GPU_ENABLED inline explicit unfused(func_const_fwd_t f = function())
|
||||
: unfused<Function,false>(f)
|
||||
{ }
|
||||
|
||||
typedef typename boost::result_of<
|
||||
function_c(fusion::vector0<> &) >::type call_const_0_result;
|
||||
|
||||
inline call_const_0_result operator()() const
|
||||
BOOST_FUSION_GPU_ENABLED inline call_const_0_result operator()() const
|
||||
{
|
||||
fusion::vector0<> arg;
|
||||
return this->fnc_transformed(arg);
|
||||
@ -63,7 +63,7 @@ namespace boost { namespace fusion
|
||||
typedef typename boost::result_of<
|
||||
function(fusion::vector0<> &) >::type call_0_result;
|
||||
|
||||
inline call_0_result operator()()
|
||||
BOOST_FUSION_GPU_ENABLED inline call_0_result operator()()
|
||||
{
|
||||
fusion::vector0<> arg;
|
||||
return this->fnc_transformed(arg);
|
||||
@ -148,6 +148,7 @@ namespace boost
|
||||
{ };
|
||||
|
||||
template <BOOST_PP_ENUM_PARAMS(N,typename T)>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename boost::result_of<function_c(BOOST_PP_CAT(fusion::vector,N)
|
||||
<BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT)> & )>::type
|
||||
operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const
|
||||
@ -159,6 +160,7 @@ namespace boost
|
||||
}
|
||||
|
||||
template <BOOST_PP_ENUM_PARAMS(N,typename T)>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename boost::result_of<function(BOOST_PP_CAT(fusion::vector,N)
|
||||
<BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT)> & )>::type
|
||||
operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a))
|
||||
|
@ -141,7 +141,7 @@ namespace boost
|
||||
return static_cast<Derived const *>(this)->fnc_transformed(arg);
|
||||
}
|
||||
|
||||
inline typename boost::result_of<
|
||||
BOOST_FUSION_GPU_ENABLED inline typename boost::result_of<
|
||||
function(arg_vector_t &) >::type
|
||||
operator()(BOOST_PP_ENUM(N,M,arg_vector_t))
|
||||
{
|
||||
|
@ -9,6 +9,7 @@
|
||||
#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_FUNCTIONAL_GENERATION_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/functional/generation/make_fused.hpp>
|
||||
#include <boost/fusion/functional/generation/make_fused_procedure.hpp>
|
||||
#include <boost/fusion/functional/generation/make_fused_function_object.hpp>
|
||||
|
@ -31,6 +31,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::BOOST_FUSION_FUNC_NAME<F>::type
|
||||
BOOST_FUSION_FUNC_NAME(F const & f)
|
||||
{
|
||||
|
@ -9,6 +9,7 @@
|
||||
#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/functional/adapter/fused.hpp>
|
||||
|
||||
#define BOOST_FUSION_CLASS_TPL_NAME fused
|
||||
|
@ -9,6 +9,7 @@
|
||||
#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/functional/adapter/fused_function_object.hpp>
|
||||
|
||||
#define BOOST_FUSION_CLASS_TPL_NAME fused_function_object
|
||||
|
@ -9,6 +9,7 @@
|
||||
#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/functional/adapter/fused_procedure.hpp>
|
||||
|
||||
#define BOOST_FUSION_CLASS_TPL_NAME fused_procedure
|
||||
|
@ -9,6 +9,7 @@
|
||||
#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/functional/adapter/unfused.hpp>
|
||||
|
||||
#define BOOST_FUSION_CLASS_TPL_NAME unfused
|
||||
|
@ -9,6 +9,7 @@
|
||||
#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_FUNCTIONAL_INVOCATION_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/functional/invocation/invoke.hpp>
|
||||
#include <boost/fusion/functional/invocation/invoke_procedure.hpp>
|
||||
#include <boost/fusion/functional/invocation/invoke_function_object.hpp>
|
||||
|
@ -9,6 +9,7 @@
|
||||
#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/get_pointer.hpp>
|
||||
#include <boost/utility/addressof.hpp>
|
||||
#include <boost/type_traits/config.hpp>
|
||||
@ -24,11 +25,13 @@ namespace boost { namespace fusion { namespace detail
|
||||
typedef typename remove_reference<Wanted>::type pointee;
|
||||
|
||||
template <typename T>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline pointee * do_get_pointer(T &, pointee * x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
template <typename T>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline pointee * do_get_pointer(T & x, void const *)
|
||||
{
|
||||
return get_pointer(x);
|
||||
@ -36,17 +39,21 @@ namespace boost { namespace fusion { namespace detail
|
||||
|
||||
public:
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline pointee * get(pointee * x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline pointee * get(pointee & x)
|
||||
{
|
||||
return boost::addressof(x);
|
||||
}
|
||||
|
||||
template <typename T> static inline pointee * get(T & x)
|
||||
template <typename T>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline pointee * get(T & x)
|
||||
{
|
||||
return do_get_pointer(x, boost::addressof(x));
|
||||
}
|
||||
|
@ -145,6 +145,7 @@ namespace boost { namespace fusion
|
||||
typedef typename boost::add_reference<qualified_type>::type
|
||||
result_type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type call(T C::* f, Sequence & s)
|
||||
{
|
||||
typename result_of::front<Sequence>::type c = fusion::front(s);
|
||||
@ -164,6 +165,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Function, class Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke<Function,Sequence>::type
|
||||
invoke(Function f, Sequence & s)
|
||||
{
|
||||
@ -173,6 +175,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Function, class Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke<Function,Sequence const>::type
|
||||
invoke(Function f, Sequence const & s)
|
||||
{
|
||||
@ -205,6 +208,7 @@ namespace boost { namespace fusion
|
||||
#if N > 0
|
||||
|
||||
template <typename F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & s)
|
||||
{
|
||||
@ -214,6 +218,7 @@ namespace boost { namespace fusion
|
||||
|
||||
#else
|
||||
template <typename F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & /*s*/)
|
||||
{
|
||||
@ -234,6 +239,7 @@ namespace boost { namespace fusion
|
||||
#if N > 0
|
||||
|
||||
template <typename F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & s)
|
||||
{
|
||||
@ -243,6 +249,7 @@ namespace boost { namespace fusion
|
||||
|
||||
#else
|
||||
template <typename F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & /*s*/)
|
||||
{
|
||||
@ -263,6 +270,7 @@ namespace boost { namespace fusion
|
||||
typedef typename ft::result_type<Function>::type result_type;
|
||||
|
||||
template <typename F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & s)
|
||||
{
|
||||
@ -293,6 +301,7 @@ namespace boost { namespace fusion
|
||||
#if N > 0
|
||||
|
||||
template <typename F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & s)
|
||||
{
|
||||
@ -304,6 +313,7 @@ namespace boost { namespace fusion
|
||||
#else
|
||||
|
||||
template <typename F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & /*s*/)
|
||||
{
|
||||
@ -326,6 +336,7 @@ namespace boost { namespace fusion
|
||||
#if N > 0
|
||||
|
||||
template <typename F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & s)
|
||||
{
|
||||
@ -337,6 +348,7 @@ namespace boost { namespace fusion
|
||||
#else
|
||||
|
||||
template <typename F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & /*s*/)
|
||||
{
|
||||
@ -358,6 +370,7 @@ namespace boost { namespace fusion
|
||||
typedef typename ft::result_type<Function>::type result_type;
|
||||
|
||||
template <typename F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & s)
|
||||
{
|
||||
|
@ -40,10 +40,12 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Function, class Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke_function_object<Function, Sequence>::type
|
||||
invoke_function_object(Function, Sequence &);
|
||||
|
||||
template <class Function, class Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke_function_object<Function, Sequence const
|
||||
>::type invoke_function_object(Function, Sequence const &);
|
||||
|
||||
@ -79,6 +81,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Function, class Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke_function_object<Function,Sequence>::type
|
||||
invoke_function_object(Function f, Sequence & s)
|
||||
{
|
||||
@ -88,6 +91,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <class Function, class Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::invoke_function_object<Function,Sequence const>::type
|
||||
invoke_function_object(Function f, Sequence const & s)
|
||||
{
|
||||
@ -121,6 +125,7 @@ namespace boost { namespace fusion
|
||||
#if N > 0
|
||||
|
||||
template <class F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & s)
|
||||
{
|
||||
@ -132,6 +137,7 @@ namespace boost { namespace fusion
|
||||
#else
|
||||
|
||||
template <class F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & /*s*/)
|
||||
{
|
||||
@ -155,6 +161,7 @@ namespace boost { namespace fusion
|
||||
#if N > 0
|
||||
|
||||
template <class F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & s)
|
||||
{
|
||||
@ -170,6 +177,7 @@ namespace boost { namespace fusion
|
||||
#else
|
||||
|
||||
template <class F>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline result_type
|
||||
call(F & f, Sequence & /*s*/)
|
||||
{
|
||||
|
@ -47,9 +47,11 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Function, class Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline void invoke_procedure(Function, Sequence &);
|
||||
|
||||
template <typename Function, class Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline void invoke_procedure(Function, Sequence const &);
|
||||
|
||||
//----- ---- --- -- - - - -
|
||||
@ -75,6 +77,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Function, class Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline void invoke_procedure(Function f, Sequence & s)
|
||||
{
|
||||
detail::invoke_procedure_impl<
|
||||
@ -83,6 +86,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Function, class Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline void invoke_procedure(Function f, Sequence const & s)
|
||||
{
|
||||
detail::invoke_procedure_impl<
|
||||
@ -109,6 +113,7 @@ namespace boost { namespace fusion
|
||||
|
||||
#if N > 0
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline void call(Function & f, Sequence & s)
|
||||
{
|
||||
f(BOOST_PP_ENUM(N,M,~));
|
||||
@ -116,6 +121,7 @@ namespace boost { namespace fusion
|
||||
|
||||
#else
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline void call(Function & f, Sequence & /*s*/)
|
||||
{
|
||||
f();
|
||||
@ -129,6 +135,7 @@ namespace boost { namespace fusion
|
||||
template <typename Function, class Sequence>
|
||||
struct invoke_procedure_impl<Function,Sequence,N,true,true>
|
||||
{
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline void call(Function & f, Sequence & s)
|
||||
{
|
||||
(that_ptr<typename mpl::front<
|
||||
@ -151,6 +158,7 @@ namespace boost { namespace fusion
|
||||
|
||||
#if N > 0
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline void call(Function & f, Sequence & s)
|
||||
{
|
||||
typedef typename result_of::begin<Sequence>::type I0;
|
||||
@ -160,6 +168,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
#else
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline void call(Function & f, Sequence & /*s*/)
|
||||
{
|
||||
f();
|
||||
@ -173,6 +182,7 @@ namespace boost { namespace fusion
|
||||
template <typename Function, class Sequence>
|
||||
struct invoke_procedure_impl<Function,Sequence,N,true,false>
|
||||
{
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static inline void call(Function & f, Sequence & s)
|
||||
{
|
||||
typedef typename result_of::begin<Sequence>::type I0;
|
||||
|
Reference in New Issue
Block a user