Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/fusion/view/nview/nview.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 |
---|---|
6 ==============================================================================*/ | 6 ==============================================================================*/ |
7 | 7 |
8 #if !defined(BOOST_FUSION_NVIEW_SEP_23_2009_0948PM) | 8 #if !defined(BOOST_FUSION_NVIEW_SEP_23_2009_0948PM) |
9 #define BOOST_FUSION_NVIEW_SEP_23_2009_0948PM | 9 #define BOOST_FUSION_NVIEW_SEP_23_2009_0948PM |
10 | 10 |
11 #include <boost/fusion/support/config.hpp> | |
11 #include <boost/mpl/size.hpp> | 12 #include <boost/mpl/size.hpp> |
12 #include <boost/mpl/if.hpp> | 13 #include <boost/mpl/if.hpp> |
13 #include <boost/mpl/vector_c.hpp> | 14 #include <boost/mpl/vector_c.hpp> |
14 #include <boost/utility/result_of.hpp> | 15 #include <boost/utility/result_of.hpp> |
15 | 16 |
37 template<typename U> | 38 template<typename U> |
38 struct result<addref(U)> : add_reference<U> {}; | 39 struct result<addref(U)> : add_reference<U> {}; |
39 | 40 |
40 #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES | 41 #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES |
41 template <typename T> | 42 template <typename T> |
43 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
42 typename add_reference<T>::type | 44 typename add_reference<T>::type |
43 operator()(T& x) const | 45 operator()(T& x) const |
44 { | 46 { |
45 return x; | 47 return x; |
46 } | 48 } |
47 #else | 49 #else |
48 template <typename T> | 50 template <typename T> |
51 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
49 typename result<addref(T)>::type | 52 typename result<addref(T)>::type |
50 operator()(T&& x) const | 53 operator()(T&& x) const |
51 { | 54 { |
52 return x; | 55 return x; |
53 } | 56 } |
63 struct result<addconstref(U)> | 66 struct result<addconstref(U)> |
64 : add_reference<typename add_const<U>::type> | 67 : add_reference<typename add_const<U>::type> |
65 {}; | 68 {}; |
66 | 69 |
67 template <typename T> | 70 template <typename T> |
71 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
68 typename add_reference<typename add_const<T>::type>::type | 72 typename add_reference<typename add_const<T>::type>::type |
69 operator()(T& x) const | 73 operator()(T& x) const |
70 { | 74 { |
71 return x; | 75 return x; |
72 } | 76 } |
73 | 77 |
74 template <typename T> | 78 template <typename T> |
79 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
75 typename add_reference<typename add_const<T>::type>::type | 80 typename add_reference<typename add_const<T>::type>::type |
76 operator()(T const& x) const | 81 operator()(T const& x) const |
77 { | 82 { |
78 return x; | 83 return x; |
79 } | 84 } |
101 >::type transform_type; | 106 >::type transform_type; |
102 typedef transform_view<Sequence, transform_type> transform_view_type; | 107 typedef transform_view<Sequence, transform_type> transform_view_type; |
103 typedef typename result_of::as_vector<transform_view_type>::type | 108 typedef typename result_of::as_vector<transform_view_type>::type |
104 sequence_type; | 109 sequence_type; |
105 | 110 |
111 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
106 explicit nview(Sequence& val) | 112 explicit nview(Sequence& val) |
107 : seq(sequence_type(transform_view_type(val, transform_type()))) | 113 : seq(sequence_type(transform_view_type(val, transform_type()))) |
108 {} | 114 {} |
109 | 115 |
110 sequence_type seq; | 116 sequence_type seq; |