1 // Boost.Function library
3 // Copyright Douglas Gregor 2003. Use, modification and
4 // distribution is subject to the Boost Software License, Version
5 // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
8 // For more information, see http://www.boost.org
10 #if BOOST_FUNCTION_NUM_ARGS == 0
11 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
12 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 0
13 # ifndef BOOST_FUNCTION_0
14 # define BOOST_FUNCTION_0
15 # include <boost/function/function_template.hpp>
17 #elif BOOST_FUNCTION_NUM_ARGS == 1
18 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
19 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 1
20 # ifndef BOOST_FUNCTION_1
21 # define BOOST_FUNCTION_1
22 # include <boost/function/function_template.hpp>
24 #elif BOOST_FUNCTION_NUM_ARGS == 2
25 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
26 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 2
27 # ifndef BOOST_FUNCTION_2
28 # define BOOST_FUNCTION_2
29 # include <boost/function/function_template.hpp>
31 #elif BOOST_FUNCTION_NUM_ARGS == 3
32 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
33 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 3
34 # ifndef BOOST_FUNCTION_3
35 # define BOOST_FUNCTION_3
36 # include <boost/function/function_template.hpp>
38 #elif BOOST_FUNCTION_NUM_ARGS == 4
39 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
40 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 4
41 # ifndef BOOST_FUNCTION_4
42 # define BOOST_FUNCTION_4
43 # include <boost/function/function_template.hpp>
45 #elif BOOST_FUNCTION_NUM_ARGS == 5
46 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
47 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 5
48 # ifndef BOOST_FUNCTION_5
49 # define BOOST_FUNCTION_5
50 # include <boost/function/function_template.hpp>
52 #elif BOOST_FUNCTION_NUM_ARGS == 6
53 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
54 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 6
55 # ifndef BOOST_FUNCTION_6
56 # define BOOST_FUNCTION_6
57 # include <boost/function/function_template.hpp>
59 #elif BOOST_FUNCTION_NUM_ARGS == 7
60 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
61 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 7
62 # ifndef BOOST_FUNCTION_7
63 # define BOOST_FUNCTION_7
64 # include <boost/function/function_template.hpp>
66 #elif BOOST_FUNCTION_NUM_ARGS == 8
67 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
68 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 8
69 # ifndef BOOST_FUNCTION_8
70 # define BOOST_FUNCTION_8
71 # include <boost/function/function_template.hpp>
73 #elif BOOST_FUNCTION_NUM_ARGS == 9
74 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
75 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 9
76 # ifndef BOOST_FUNCTION_9
77 # define BOOST_FUNCTION_9
78 # include <boost/function/function_template.hpp>
80 #elif BOOST_FUNCTION_NUM_ARGS == 10
81 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
82 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 10
83 # ifndef BOOST_FUNCTION_10
84 # define BOOST_FUNCTION_10
85 # include <boost/function/function_template.hpp>
87 #elif BOOST_FUNCTION_NUM_ARGS == 11
88 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
89 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 11
90 # ifndef BOOST_FUNCTION_11
91 # define BOOST_FUNCTION_11
92 # include <boost/function/function_template.hpp>
94 #elif BOOST_FUNCTION_NUM_ARGS == 12
95 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
96 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 12
97 # ifndef BOOST_FUNCTION_12
98 # define BOOST_FUNCTION_12
99 # include <boost/function/function_template.hpp>
101 #elif BOOST_FUNCTION_NUM_ARGS == 13
102 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
103 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 13
104 # ifndef BOOST_FUNCTION_13
105 # define BOOST_FUNCTION_13
106 # include <boost/function/function_template.hpp>
108 #elif BOOST_FUNCTION_NUM_ARGS == 14
109 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
110 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 14
111 # ifndef BOOST_FUNCTION_14
112 # define BOOST_FUNCTION_14
113 # include <boost/function/function_template.hpp>
115 #elif BOOST_FUNCTION_NUM_ARGS == 15
116 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
117 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 15
118 # ifndef BOOST_FUNCTION_15
119 # define BOOST_FUNCTION_15
120 # include <boost/function/function_template.hpp>
122 #elif BOOST_FUNCTION_NUM_ARGS == 16
123 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
124 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 16
125 # ifndef BOOST_FUNCTION_16
126 # define BOOST_FUNCTION_16
127 # include <boost/function/function_template.hpp>
129 #elif BOOST_FUNCTION_NUM_ARGS == 17
130 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
131 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 17
132 # ifndef BOOST_FUNCTION_17
133 # define BOOST_FUNCTION_17
134 # include <boost/function/function_template.hpp>
136 #elif BOOST_FUNCTION_NUM_ARGS == 18
137 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
138 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 18
139 # ifndef BOOST_FUNCTION_18
140 # define BOOST_FUNCTION_18
141 # include <boost/function/function_template.hpp>
143 #elif BOOST_FUNCTION_NUM_ARGS == 19
144 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
145 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 19
146 # ifndef BOOST_FUNCTION_19
147 # define BOOST_FUNCTION_19
148 # include <boost/function/function_template.hpp>
150 #elif BOOST_FUNCTION_NUM_ARGS == 20
151 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
152 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 20
153 # ifndef BOOST_FUNCTION_20
154 # define BOOST_FUNCTION_20
155 # include <boost/function/function_template.hpp>
157 #elif BOOST_FUNCTION_NUM_ARGS == 21
158 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
159 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 21
160 # ifndef BOOST_FUNCTION_21
161 # define BOOST_FUNCTION_21
162 # include <boost/function/function_template.hpp>
164 #elif BOOST_FUNCTION_NUM_ARGS == 22
165 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
166 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 22
167 # ifndef BOOST_FUNCTION_22
168 # define BOOST_FUNCTION_22
169 # include <boost/function/function_template.hpp>
171 #elif BOOST_FUNCTION_NUM_ARGS == 23
172 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
173 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 23
174 # ifndef BOOST_FUNCTION_23
175 # define BOOST_FUNCTION_23
176 # include <boost/function/function_template.hpp>
178 #elif BOOST_FUNCTION_NUM_ARGS == 24
179 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
180 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 24
181 # ifndef BOOST_FUNCTION_24
182 # define BOOST_FUNCTION_24
183 # include <boost/function/function_template.hpp>
185 #elif BOOST_FUNCTION_NUM_ARGS == 25
186 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
187 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 25
188 # ifndef BOOST_FUNCTION_25
189 # define BOOST_FUNCTION_25
190 # include <boost/function/function_template.hpp>
192 #elif BOOST_FUNCTION_NUM_ARGS == 26
193 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
194 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 26
195 # ifndef BOOST_FUNCTION_26
196 # define BOOST_FUNCTION_26
197 # include <boost/function/function_template.hpp>
199 #elif BOOST_FUNCTION_NUM_ARGS == 27
200 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
201 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 27
202 # ifndef BOOST_FUNCTION_27
203 # define BOOST_FUNCTION_27
204 # include <boost/function/function_template.hpp>
206 #elif BOOST_FUNCTION_NUM_ARGS == 28
207 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
208 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 28
209 # ifndef BOOST_FUNCTION_28
210 # define BOOST_FUNCTION_28
211 # include <boost/function/function_template.hpp>
213 #elif BOOST_FUNCTION_NUM_ARGS == 29
214 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
215 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 29
216 # ifndef BOOST_FUNCTION_29
217 # define BOOST_FUNCTION_29
218 # include <boost/function/function_template.hpp>
220 #elif BOOST_FUNCTION_NUM_ARGS == 30
221 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
222 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 30
223 # ifndef BOOST_FUNCTION_30
224 # define BOOST_FUNCTION_30
225 # include <boost/function/function_template.hpp>
227 #elif BOOST_FUNCTION_NUM_ARGS == 31
228 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
229 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 31
230 # ifndef BOOST_FUNCTION_31
231 # define BOOST_FUNCTION_31
232 # include <boost/function/function_template.hpp>
234 #elif BOOST_FUNCTION_NUM_ARGS == 32
235 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
236 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 32
237 # ifndef BOOST_FUNCTION_32
238 # define BOOST_FUNCTION_32
239 # include <boost/function/function_template.hpp>
241 #elif BOOST_FUNCTION_NUM_ARGS == 33
242 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
243 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 33
244 # ifndef BOOST_FUNCTION_33
245 # define BOOST_FUNCTION_33
246 # include <boost/function/function_template.hpp>
248 #elif BOOST_FUNCTION_NUM_ARGS == 34
249 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
250 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 34
251 # ifndef BOOST_FUNCTION_34
252 # define BOOST_FUNCTION_34
253 # include <boost/function/function_template.hpp>
255 #elif BOOST_FUNCTION_NUM_ARGS == 35
256 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
257 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 35
258 # ifndef BOOST_FUNCTION_35
259 # define BOOST_FUNCTION_35
260 # include <boost/function/function_template.hpp>
262 #elif BOOST_FUNCTION_NUM_ARGS == 36
263 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
264 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 36
265 # ifndef BOOST_FUNCTION_36
266 # define BOOST_FUNCTION_36
267 # include <boost/function/function_template.hpp>
269 #elif BOOST_FUNCTION_NUM_ARGS == 37
270 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
271 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 37
272 # ifndef BOOST_FUNCTION_37
273 # define BOOST_FUNCTION_37
274 # include <boost/function/function_template.hpp>
276 #elif BOOST_FUNCTION_NUM_ARGS == 38
277 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
278 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 38
279 # ifndef BOOST_FUNCTION_38
280 # define BOOST_FUNCTION_38
281 # include <boost/function/function_template.hpp>
283 #elif BOOST_FUNCTION_NUM_ARGS == 39
284 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
285 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 39
286 # ifndef BOOST_FUNCTION_39
287 # define BOOST_FUNCTION_39
288 # include <boost/function/function_template.hpp>
290 #elif BOOST_FUNCTION_NUM_ARGS == 40
291 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
292 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 40
293 # ifndef BOOST_FUNCTION_40
294 # define BOOST_FUNCTION_40
295 # include <boost/function/function_template.hpp>
297 #elif BOOST_FUNCTION_NUM_ARGS == 41
298 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
299 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 41
300 # ifndef BOOST_FUNCTION_41
301 # define BOOST_FUNCTION_41
302 # include <boost/function/function_template.hpp>
304 #elif BOOST_FUNCTION_NUM_ARGS == 42
305 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
306 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 42
307 # ifndef BOOST_FUNCTION_42
308 # define BOOST_FUNCTION_42
309 # include <boost/function/function_template.hpp>
311 #elif BOOST_FUNCTION_NUM_ARGS == 43
312 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
313 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 43
314 # ifndef BOOST_FUNCTION_43
315 # define BOOST_FUNCTION_43
316 # include <boost/function/function_template.hpp>
318 #elif BOOST_FUNCTION_NUM_ARGS == 44
319 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
320 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 44
321 # ifndef BOOST_FUNCTION_44
322 # define BOOST_FUNCTION_44
323 # include <boost/function/function_template.hpp>
325 #elif BOOST_FUNCTION_NUM_ARGS == 45
326 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
327 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 45
328 # ifndef BOOST_FUNCTION_45
329 # define BOOST_FUNCTION_45
330 # include <boost/function/function_template.hpp>
332 #elif BOOST_FUNCTION_NUM_ARGS == 46
333 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
334 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 46
335 # ifndef BOOST_FUNCTION_46
336 # define BOOST_FUNCTION_46
337 # include <boost/function/function_template.hpp>
339 #elif BOOST_FUNCTION_NUM_ARGS == 47
340 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
341 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 47
342 # ifndef BOOST_FUNCTION_47
343 # define BOOST_FUNCTION_47
344 # include <boost/function/function_template.hpp>
346 #elif BOOST_FUNCTION_NUM_ARGS == 48
347 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
348 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 48
349 # ifndef BOOST_FUNCTION_48
350 # define BOOST_FUNCTION_48
351 # include <boost/function/function_template.hpp>
353 #elif BOOST_FUNCTION_NUM_ARGS == 49
354 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
355 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 49
356 # ifndef BOOST_FUNCTION_49
357 # define BOOST_FUNCTION_49
358 # include <boost/function/function_template.hpp>
360 #elif BOOST_FUNCTION_NUM_ARGS == 50
361 # undef BOOST_FUNCTION_MAX_ARGS_DEFINED
362 # define BOOST_FUNCTION_MAX_ARGS_DEFINED 50
363 # ifndef BOOST_FUNCTION_50
364 # define BOOST_FUNCTION_50
365 # include <boost/function/function_template.hpp>
368 # error Cannot handle Boost.Function objects that accept more than 50 arguments!