Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/spirit/home/phoenix/object/detail/construct.hpp @ 16:2665513ce2d3
Add boost headers
author | Chris Cannam |
---|---|
date | Tue, 05 Aug 2014 11:11:38 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
15:663ca0da4350 | 16:2665513ce2d3 |
---|---|
1 /*============================================================================= | |
2 Copyright (c) 2001-2007 Joel de Guzman | |
3 | |
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) | |
6 ==============================================================================*/ | |
7 #ifndef BOOST_PP_IS_ITERATING | |
8 #ifndef PHOENIX_OBJECT_DETAIL_CONSTRUCT_HPP | |
9 #define PHOENIX_OBJECT_DETAIL_CONSTRUCT_HPP | |
10 | |
11 #include <boost/preprocessor/iterate.hpp> | |
12 #include <boost/preprocessor/repetition/enum_params.hpp> | |
13 #include <boost/preprocessor/repetition/enum_binary_params.hpp> | |
14 | |
15 #define BOOST_PP_ITERATION_PARAMS_1 \ | |
16 (3, (3, PHOENIX_COMPOSITE_LIMIT, \ | |
17 "boost/spirit/home/phoenix/object/detail/construct.hpp")) | |
18 #include BOOST_PP_ITERATE() | |
19 | |
20 #endif | |
21 | |
22 /////////////////////////////////////////////////////////////////////////////// | |
23 // | |
24 // Preprocessor vertical repetition code | |
25 // | |
26 /////////////////////////////////////////////////////////////////////////////// | |
27 #else // defined(BOOST_PP_IS_ITERATING) | |
28 | |
29 #define N BOOST_PP_ITERATION() | |
30 | |
31 template <typename T, BOOST_PP_ENUM_PARAMS(N, typename A)> | |
32 inline actor<typename as_composite<detail::construct_eval<T> | |
33 , BOOST_PP_ENUM_PARAMS(N, A)>::type> | |
34 construct(BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& _)) | |
35 { | |
36 return compose<detail::construct_eval<T> >(BOOST_PP_ENUM_PARAMS(N, _)); | |
37 } | |
38 | |
39 #undef N | |
40 #endif // defined(BOOST_PP_IS_ITERATING) | |
41 | |
42 |