Mercurial > hg > vamp-build-and-test
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 } |