gpu-enable functions

This commit is contained in:
Eric Niebler
2014-01-09 17:58:06 -08:00
committed by Eric Niebler
parent 867c7e5dfb
commit c4f9f0d1b6
840 changed files with 7409 additions and 116 deletions

View File

@ -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)
{

View File

@ -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)
{

View File

@ -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<

View File

@ -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))

View File

@ -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))
{