comparison DEPENDENCIES/generic/include/boost/fusion/functional/adapter/unfused.hpp @ 101:c530137014c0

Update Boost headers (1.58.0)
author Chris Cannam
date Mon, 07 Sep 2015 11:12:49 +0100
parents 2665513ce2d3
children
comparison
equal deleted inserted replaced
100:793467b5e61c 101:c530137014c0
45 typedef typename detail::call_param<Function>::type func_const_fwd_t; 45 typedef typename detail::call_param<Function>::type func_const_fwd_t;
46 public: 46 public:
47 47
48 using unfused<Function,false>::operator(); 48 using unfused<Function,false>::operator();
49 49
50 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
50 inline explicit unfused(func_const_fwd_t f = function()) 51 inline explicit unfused(func_const_fwd_t f = function())
51 : unfused<Function,false>(f) 52 : unfused<Function,false>(f)
52 { } 53 { }
53 54
54 typedef typename boost::result_of< 55 typedef typename boost::result_of<
55 function_c(fusion::vector0<> &) >::type call_const_0_result; 56 function_c(fusion::vector0<> &) >::type call_const_0_result;
56 57
58 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
57 inline call_const_0_result operator()() const 59 inline call_const_0_result operator()() const
58 { 60 {
59 fusion::vector0<> arg; 61 fusion::vector0<> arg;
60 return this->fnc_transformed(arg); 62 return this->fnc_transformed(arg);
61 } 63 }
62 64
63 typedef typename boost::result_of< 65 typedef typename boost::result_of<
64 function(fusion::vector0<> &) >::type call_0_result; 66 function(fusion::vector0<> &) >::type call_0_result;
65 67
66 inline call_0_result operator()() 68 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
69 inline call_0_result operator()()
67 { 70 {
68 fusion::vector0<> arg; 71 fusion::vector0<> arg;
69 return this->fnc_transformed(arg); 72 return this->fnc_transformed(arg);
70 } 73 }
71 }; 74 };
77 typedef typename detail::qf_c<Function>::type function_c; 80 typedef typename detail::qf_c<Function>::type function_c;
78 typedef typename detail::qf<Function>::type function; 81 typedef typename detail::qf<Function>::type function;
79 typedef typename detail::call_param<Function>::type func_const_fwd_t; 82 typedef typename detail::call_param<Function>::type func_const_fwd_t;
80 public: 83 public:
81 84
85 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
82 inline explicit unfused(func_const_fwd_t f = function()) 86 inline explicit unfused(func_const_fwd_t f = function())
83 : fnc_transformed(f) 87 : fnc_transformed(f)
84 { } 88 { }
85 89
86 template <typename Sig> 90 template <typename Sig>
146 BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N, 150 BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N,
147 typename detail::mref<T,>::type BOOST_PP_INTERCEPT) > & )> 151 typename detail::mref<T,>::type BOOST_PP_INTERCEPT) > & )>
148 { }; 152 { };
149 153
150 template <BOOST_PP_ENUM_PARAMS(N,typename T)> 154 template <BOOST_PP_ENUM_PARAMS(N,typename T)>
155 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
151 inline typename boost::result_of<function_c(BOOST_PP_CAT(fusion::vector,N) 156 inline typename boost::result_of<function_c(BOOST_PP_CAT(fusion::vector,N)
152 <BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT)> & )>::type 157 <BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT)> & )>::type
153 operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const 158 operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const
154 { 159 {
155 BOOST_PP_CAT(fusion::vector,N)< 160 BOOST_PP_CAT(fusion::vector,N)<
157 arg(BOOST_PP_ENUM_PARAMS(N,a)); 162 arg(BOOST_PP_ENUM_PARAMS(N,a));
158 return this->fnc_transformed(arg); 163 return this->fnc_transformed(arg);
159 } 164 }
160 165
161 template <BOOST_PP_ENUM_PARAMS(N,typename T)> 166 template <BOOST_PP_ENUM_PARAMS(N,typename T)>
167 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
162 inline typename boost::result_of<function(BOOST_PP_CAT(fusion::vector,N) 168 inline typename boost::result_of<function(BOOST_PP_CAT(fusion::vector,N)
163 <BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT)> & )>::type 169 <BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT)> & )>::type
164 operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) 170 operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a))
165 { 171 {
166 BOOST_PP_CAT(fusion::vector,N)< 172 BOOST_PP_CAT(fusion::vector,N)<