Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/phoenix/support/detail/iterate.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) 2010 Thomas Heller | |
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 | |
8 #if !BOOST_PP_IS_ITERATING | |
9 | |
10 #include <boost/preprocessor/tuple/elem.hpp> | |
11 | |
12 #ifndef BOOST_PHOENIX_ITERATION_PARAMS | |
13 #error "BOOST_PHOENIX_ITERATION_PARAMS not defined" | |
14 #endif | |
15 | |
16 #define BOOST_PHOENIX_ITERATION_PARAMS_SIZE \ | |
17 BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PHOENIX_ITERATION_PARAMS) \ | |
18 /**/ | |
19 | |
20 #define BOOST_PHOENIX_ITERATION_TUPLE \ | |
21 BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PHOENIX_ITERATION_PARAMS) \ | |
22 /**/ | |
23 | |
24 #define BOOST_PHOENIX_ITERATION_START \ | |
25 BOOST_PP_TUPLE_ELEM( \ | |
26 BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 0, BOOST_PHOENIX_ITERATION_TUPLE) \ | |
27 /**/ | |
28 | |
29 #define BOOST_PHOENIX_ITERATION_END \ | |
30 BOOST_PP_TUPLE_ELEM( \ | |
31 BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 1, BOOST_PHOENIX_ITERATION_TUPLE) \ | |
32 /**/ | |
33 | |
34 | |
35 #define BOOST_PHOENIX_ITERATION_FILE() \ | |
36 BOOST_PP_TUPLE_ELEM( \ | |
37 BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 2, BOOST_PHOENIX_ITERATION_TUPLE) \ | |
38 /**/ | |
39 | |
40 #if BOOST_PHOENIX_ITERATION_PARAMS_SIZE == 3 | |
41 | |
42 #define BOOST_PP_ITERATION_PARAMS_1 \ | |
43 (3, (BOOST_PHOENIX_ITERATION_START, BOOST_PHOENIX_ITERATION_END, \ | |
44 <boost/phoenix/support/detail/iterate.hpp>)) \ | |
45 /**/ | |
46 | |
47 #else | |
48 | |
49 #define BOOST_PHOENIX_ITERATION_FLAG \ | |
50 BOOST_PP_TUPLE_ELEM( \ | |
51 BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 3, BOOST_PHOENIX_ITERATION_TUPLE) \ | |
52 /**/ | |
53 | |
54 #define BOOST_PP_ITERATION_PARAMS_1 \ | |
55 (4, (BOOST_PHOENIX_ITERATION_START, BOOST_PHOENIX_ITERATION_END, \ | |
56 <boost/phoenix/support/detail/iterate.hpp>, \ | |
57 BOOST_PHOENIX_ITERATION_FLAG)) \ | |
58 /**/ | |
59 | |
60 #endif | |
61 | |
62 #include BOOST_PP_ITERATE() | |
63 | |
64 #undef BOOST_PHOENIX_ITERATION_PARAMS_SIZE | |
65 #undef BOOST_PHOENIX_ITERATION_TUPLE | |
66 #undef BOOST_PHOENIX_ITERATION_START | |
67 #undef BOOST_PHOENIX_ITERATION_END | |
68 #undef BOOST_PHOENIX_ITERATION_PARAMS | |
69 | |
70 #else | |
71 | |
72 #undef BOOST_PHOENIX_IS_ITERATING | |
73 #define BOOST_PHOENIX_IS_ITERATING 1 | |
74 | |
75 #include <boost/phoenix/support/detail/iterate_undef.hpp> | |
76 #include <boost/phoenix/support/detail/iterate_define.hpp> | |
77 | |
78 | |
79 #include BOOST_PHOENIX_ITERATION_FILE() | |
80 | |
81 #undef BOOST_PHOENIX_ITERATION | |
82 | |
83 #undef BOOST_PHOENIX_IS_ITERATING | |
84 #define BOOST_PHOENIX_IS_ITERATING 0 | |
85 | |
86 #include <boost/phoenix/support/detail/iterate_undef.hpp> | |
87 #include <boost/phoenix/support/detail/iterate_define.hpp> | |
88 | |
89 #endif |