]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | |
2 | // (C) Copyright Tobias Schwinger | |
3 | // | |
4 | // Use modification and distribution are subject to the boost Software License, | |
5 | // Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). | |
6 | ||
7 | //------------------------------------------------------------------------------ | |
8 | ||
9 | // no include guards, this file is intended for multiple inclusions | |
10 | ||
11 | #ifdef __WAVE__ | |
12 | // this file has been generated from the master.hpp file in the same directory | |
13 | # pragma wave option(preserve: 0) | |
14 | #endif | |
15 | ||
16 | ||
17 | #if !BOOST_PP_IS_ITERATING | |
18 | ||
19 | # ifndef BOOST_FT_DETAIL_CC_LOOP_MASTER_HPP_INCLUDED | |
20 | # define BOOST_FT_DETAIL_CC_LOOP_MASTER_HPP_INCLUDED | |
21 | # include <boost/function_types/config/cc_names.hpp> | |
22 | ||
23 | # include <boost/preprocessor/cat.hpp> | |
24 | # include <boost/preprocessor/seq/size.hpp> | |
25 | # include <boost/preprocessor/seq/elem.hpp> | |
26 | # include <boost/preprocessor/tuple/elem.hpp> | |
27 | # include <boost/preprocessor/iteration/iterate.hpp> | |
28 | # include <boost/preprocessor/facilities/expand.hpp> | |
29 | # include <boost/preprocessor/arithmetic/inc.hpp> | |
30 | # endif | |
31 | ||
32 | # include <boost/function_types/detail/encoding/def.hpp> | |
33 | # include <boost/function_types/detail/encoding/aliases_def.hpp> | |
34 | ||
35 | # define BOOST_PP_FILENAME_1 \ | |
36 | <boost/function_types/detail/pp_cc_loop/master.hpp> | |
37 | # define BOOST_PP_ITERATION_LIMITS \ | |
38 | (0,BOOST_PP_SEQ_SIZE(BOOST_FT_CC_NAMES_SEQ)-1) | |
39 | # include BOOST_PP_ITERATE() | |
40 | # if !defined(BOOST_FT_config_valid) && BOOST_FT_CC_PREPROCESSING | |
41 | # define BOOST_FT_cc_id 1 | |
42 | # define BOOST_FT_cc_name implicit_cc | |
43 | # define BOOST_FT_cc BOOST_PP_EMPTY | |
44 | # define BOOST_FT_cond callable_builtin | |
45 | # include BOOST_FT_cc_file | |
46 | # undef BOOST_FT_cond | |
47 | # undef BOOST_FT_cc_name | |
48 | # undef BOOST_FT_cc | |
49 | # undef BOOST_FT_cc_id | |
50 | # elif !defined(BOOST_FT_config_valid) // and generating preprocessed file | |
51 | BOOST_PP_EXPAND(#) ifndef BOOST_FT_config_valid | |
52 | BOOST_PP_EXPAND(#) define BOOST_FT_cc_id 1 | |
53 | BOOST_PP_EXPAND(#) define BOOST_FT_cc_name implicit_cc | |
54 | BOOST_PP_EXPAND(#) define BOOST_FT_cc BOOST_PP_EMPTY | |
55 | BOOST_PP_EXPAND(#) define BOOST_FT_cond callable_builtin | |
56 | #define _() | |
57 | BOOST_PP_EXPAND(#) include BOOST_FT_cc_file | |
58 | #undef _ | |
59 | BOOST_PP_EXPAND(#) undef BOOST_FT_cond | |
60 | BOOST_PP_EXPAND(#) undef BOOST_FT_cc_name | |
61 | BOOST_PP_EXPAND(#) undef BOOST_FT_cc | |
62 | BOOST_PP_EXPAND(#) undef BOOST_FT_cc_id | |
63 | BOOST_PP_EXPAND(#) else | |
64 | BOOST_PP_EXPAND(#) undef BOOST_FT_config_valid | |
65 | BOOST_PP_EXPAND(#) endif | |
66 | ||
67 | # else | |
68 | # undef BOOST_FT_config_valid | |
69 | # endif | |
70 | ||
71 | # include <boost/function_types/detail/encoding/aliases_undef.hpp> | |
72 | # include <boost/function_types/detail/encoding/undef.hpp> | |
73 | ||
74 | #elif BOOST_FT_CC_PREPROCESSING | |
75 | ||
76 | # define BOOST_FT_cc_id BOOST_PP_INC(BOOST_PP_FRAME_ITERATION(1)) | |
77 | # define BOOST_FT_cc_inf \ | |
78 | BOOST_PP_SEQ_ELEM(BOOST_PP_FRAME_ITERATION(1),BOOST_FT_CC_NAMES_SEQ) | |
79 | ||
80 | # define BOOST_FT_cc_pp_name BOOST_PP_TUPLE_ELEM(3,0,BOOST_FT_cc_inf) | |
81 | # define BOOST_FT_cc_name BOOST_PP_TUPLE_ELEM(3,1,BOOST_FT_cc_inf) | |
82 | # define BOOST_FT_cc BOOST_PP_TUPLE_ELEM(3,2,BOOST_FT_cc_inf) | |
83 | ||
84 | # define BOOST_FT_cond BOOST_PP_CAT(BOOST_FT_CC_,BOOST_FT_cc_pp_name) | |
85 | ||
86 | # if BOOST_FT_cond | |
87 | # define BOOST_FT_config_valid 1 | |
88 | # include BOOST_FT_cc_file | |
89 | # endif | |
90 | ||
91 | # undef BOOST_FT_cond | |
92 | ||
93 | # undef BOOST_FT_cc_pp_name | |
94 | # undef BOOST_FT_cc_name | |
95 | # undef BOOST_FT_cc | |
96 | ||
97 | # undef BOOST_FT_cc_id | |
98 | # undef BOOST_FT_cc_inf | |
99 | ||
100 | #else // if generating preprocessed file | |
101 | BOOST_PP_EXPAND(#) define BOOST_FT_cc_id BOOST_PP_INC(BOOST_PP_ITERATION()) | |
102 | ||
103 | # define BOOST_FT_cc_inf \ | |
104 | BOOST_PP_SEQ_ELEM(BOOST_PP_ITERATION(),BOOST_FT_CC_NAMES_SEQ) | |
105 | ||
106 | # define BOOST_FT_cc_pp_name BOOST_PP_TUPLE_ELEM(3,0,BOOST_FT_cc_inf) | |
107 | ||
108 | # define BOOST_FT_CC_DEF(name,index) \ | |
109 | name BOOST_PP_TUPLE_ELEM(3,index,BOOST_FT_cc_inf) | |
110 | BOOST_PP_EXPAND(#) define BOOST_FT_CC_DEF(BOOST_FT_cc_name,1) | |
111 | BOOST_PP_EXPAND(#) define BOOST_FT_CC_DEF(BOOST_FT_cc,2) | |
112 | # undef BOOST_FT_CC_DEF | |
113 | ||
114 | # define BOOST_FT_cc_cond_v BOOST_PP_CAT(BOOST_FT_CC_,BOOST_FT_cc_pp_name) | |
115 | BOOST_PP_EXPAND(#) define BOOST_FT_cond BOOST_FT_cc_cond_v | |
116 | # undef BOOST_FT_cc_cond_v | |
117 | ||
118 | # undef BOOST_FT_cc_pp_name | |
119 | # undef BOOST_FT_cc_inf | |
120 | ||
121 | BOOST_PP_EXPAND(#) if BOOST_FT_cond | |
122 | BOOST_PP_EXPAND(#) define BOOST_FT_config_valid 1 | |
123 | #define _() | |
124 | BOOST_PP_EXPAND(#) include BOOST_FT_cc_file | |
125 | #undef _ | |
126 | BOOST_PP_EXPAND(#) endif | |
127 | ||
128 | BOOST_PP_EXPAND(#) undef BOOST_FT_cond | |
129 | ||
130 | BOOST_PP_EXPAND(#) undef BOOST_FT_cc_name | |
131 | BOOST_PP_EXPAND(#) undef BOOST_FT_cc | |
132 | ||
133 | BOOST_PP_EXPAND(#) undef BOOST_FT_cc_id | |
134 | ||
135 | #endif | |
136 |