Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/fusion/sequence/convert.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 |
---|---|
4 Distributed under the Boost Software License, Version 1.0. (See accompanying | 4 Distributed under the Boost Software License, Version 1.0. (See accompanying |
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
6 ==============================================================================*/ | 6 ==============================================================================*/ |
7 #if !defined(FUSION_CONVERT_10022005_1442) | 7 #if !defined(FUSION_CONVERT_10022005_1442) |
8 #define FUSION_CONVERT_10022005_1442 | 8 #define FUSION_CONVERT_10022005_1442 |
9 | |
10 #include <boost/fusion/support/config.hpp> | |
9 | 11 |
10 namespace boost { namespace fusion | 12 namespace boost { namespace fusion |
11 { | 13 { |
12 namespace extension | 14 namespace extension |
13 { | 15 { |
18 namespace result_of | 20 namespace result_of |
19 { | 21 { |
20 template <typename Tag, typename Sequence> | 22 template <typename Tag, typename Sequence> |
21 struct convert | 23 struct convert |
22 { | 24 { |
23 typedef typename extension::convert_impl<Tag> gen; | 25 typedef typename |
26 extension::convert_impl<Tag>::template apply<Sequence> | |
27 gen; | |
24 | 28 |
25 typedef typename | 29 typedef typename gen::type type; |
26 gen::template apply<Sequence>::type | |
27 type; | |
28 }; | 30 }; |
29 } | 31 } |
30 | 32 |
31 template <typename Tag, typename Sequence> | 33 template <typename Tag, typename Sequence> |
34 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
32 inline typename result_of::convert<Tag, Sequence>::type | 35 inline typename result_of::convert<Tag, Sequence>::type |
33 convert(Sequence& seq) | 36 convert(Sequence& seq) |
34 { | 37 { |
35 typedef typename result_of::convert<Tag, Sequence>::gen gen; | 38 typedef typename result_of::convert<Tag, Sequence>::gen gen; |
36 return gen::call(seq); | 39 return gen::call(seq); |
37 } | 40 } |
38 | 41 |
39 template <typename Tag, typename Sequence> | 42 template <typename Tag, typename Sequence> |
43 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
40 inline typename result_of::convert<Tag, Sequence const>::type | 44 inline typename result_of::convert<Tag, Sequence const>::type |
41 convert(Sequence const& seq) | 45 convert(Sequence const& seq) |
42 { | 46 { |
43 typedef typename result_of::convert<Tag, Sequence const>::gen gen; | 47 typedef typename result_of::convert<Tag, Sequence const>::gen gen; |
44 return gen::call(seq); | 48 return gen::call(seq); |