comparison DEPENDENCIES/generic/include/boost/fusion/functional/adapter/fused.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
7 ==============================================================================*/ 7 ==============================================================================*/
8 8
9 #if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED) 9 #if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED)
10 #define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED 10 #define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED
11 11
12 #include <boost/fusion/support/config.hpp>
12 #include <boost/type_traits/add_reference.hpp> 13 #include <boost/type_traits/add_reference.hpp>
13 #include <boost/config.hpp> 14 #include <boost/config.hpp>
14 15
15 #include <boost/fusion/functional/adapter/detail/access.hpp> 16 #include <boost/fusion/functional/adapter/detail/access.hpp>
16 #include <boost/fusion/functional/invocation/invoke.hpp> 17 #include <boost/fusion/functional/invocation/invoke.hpp>
34 typedef typename detail::qf_c<Function>::type & func_const_fwd_t; 35 typedef typename detail::qf_c<Function>::type & func_const_fwd_t;
35 typedef typename detail::qf<Function>::type & func_fwd_t; 36 typedef typename detail::qf<Function>::type & func_fwd_t;
36 37
37 public: 38 public:
38 39
40 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
39 inline explicit fused(func_const_fwd_t f = Function()) 41 inline explicit fused(func_const_fwd_t f = Function())
40 : fnc_transformed(f) 42 : fnc_transformed(f)
41 { } 43 { }
42 44
43 template <class Seq> 45 template <class Seq>
46 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
44 inline typename result_of::invoke<func_const_fwd_t,Seq const>::type 47 inline typename result_of::invoke<func_const_fwd_t,Seq const>::type
45 operator()(Seq const & s) const 48 operator()(Seq const & s) const
46 { 49 {
47 return fusion::invoke<func_const_fwd_t>(this->fnc_transformed,s); 50 return fusion::invoke<func_const_fwd_t>(this->fnc_transformed,s);
48 } 51 }
49 52
50 template <class Seq> 53 template <class Seq>
54 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
51 inline typename result_of::invoke<func_fwd_t,Seq const>::type 55 inline typename result_of::invoke<func_fwd_t,Seq const>::type
52 operator()(Seq const & s) 56 operator()(Seq const & s)
53 { 57 {
54 return fusion::invoke<func_fwd_t>(this->fnc_transformed,s); 58 return fusion::invoke<func_fwd_t>(this->fnc_transformed,s);
55 } 59 }
56 60
57 template <class Seq> 61 template <class Seq>
62 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
58 inline typename result_of::invoke<func_const_fwd_t,Seq>::type 63 inline typename result_of::invoke<func_const_fwd_t,Seq>::type
59 operator()(Seq & s) const 64 operator()(Seq & s) const
60 { 65 {
61 return fusion::invoke<func_const_fwd_t>(this->fnc_transformed,s); 66 return fusion::invoke<func_const_fwd_t>(this->fnc_transformed,s);
62 } 67 }
63 68
64 template <class Seq> 69 template <class Seq>
70 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
65 inline typename result_of::invoke<func_fwd_t,Seq>::type 71 inline typename result_of::invoke<func_fwd_t,Seq>::type
66 operator()(Seq & s) 72 operator()(Seq & s)
67 { 73 {
68 return fusion::invoke<func_fwd_t>(this->fnc_transformed,s); 74 return fusion::invoke<func_fwd_t>(this->fnc_transformed,s);
69 } 75 }