]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / mpl / aux_ / preprocessed / bcc_pre590 / apply_wrap.hpp
1
2 // Copyright Aleksey Gurtovoy 2000-2008
3 //
4 // Distributed under the Boost Software License, Version 1.0.
5 // (See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //
8
9 // *Preprocessed* version of the main "apply_wrap.hpp" header
10 // -- DO NOT modify by hand!
11
12 namespace boost { namespace mpl {
13
14 template<
15 int N, typename F
16 >
17 struct apply_wrap_impl0;
18
19 template<
20 typename F
21 >
22 struct apply_wrap_impl0<
23 0
24 , F
25
26 >
27 {
28 typedef typename F::template apply<
29
30 /// since the defaults are "lost", we have to pass *something* even for nullary
31 /// metafunction classes
32 na
33 > type;
34 };
35
36 template<
37 typename F
38 >
39 struct apply_wrap_impl0<
40 1
41 , F
42
43 >
44 {
45 typedef typename F::template apply<
46
47 na
48 > type;
49 };
50
51 template<
52 typename F
53 >
54 struct apply_wrap_impl0<
55 2
56 , F
57
58 >
59 {
60 typedef typename F::template apply<
61
62 na, na
63
64 > type;
65 };
66
67 template<
68 typename F
69 >
70 struct apply_wrap_impl0<
71 3
72 , F
73
74 >
75 {
76 typedef typename F::template apply<
77
78 na, na, na
79
80 > type;
81 };
82
83 template<
84 typename F
85 >
86 struct apply_wrap_impl0<
87 4
88 , F
89
90 >
91 {
92 typedef typename F::template apply<
93
94 na, na, na, na
95
96 > type;
97 };
98
99 template<
100 typename F
101 >
102 struct apply_wrap_impl0<
103 5
104 , F
105
106 >
107 {
108 typedef typename F::template apply<
109
110 na, na, na, na, na
111
112 > type;
113 };
114
115 template<
116 typename F
117 >
118 struct apply_wrap0
119 : apply_wrap_impl0<
120 ::boost::mpl::aux::arity< F,0 >::value
121 , F
122
123 >::type
124 {
125 };
126
127 template<
128 int N, typename F, typename T1
129 >
130 struct apply_wrap_impl1;
131
132 template<
133 typename F, typename T1
134 >
135 struct apply_wrap_impl1<
136 1
137 , F
138 , T1
139 >
140 {
141 typedef typename F::template apply<
142 T1
143 > type;
144 };
145
146 template<
147 typename F, typename T1
148 >
149 struct apply_wrap_impl1<
150 2
151 , F
152 , T1
153 >
154 {
155 typedef typename F::template apply<
156 T1
157 , na
158
159 > type;
160 };
161
162 template<
163 typename F, typename T1
164 >
165 struct apply_wrap_impl1<
166 3
167 , F
168 , T1
169 >
170 {
171 typedef typename F::template apply<
172 T1
173 , na, na
174
175 > type;
176 };
177
178 template<
179 typename F, typename T1
180 >
181 struct apply_wrap_impl1<
182 4
183 , F
184 , T1
185 >
186 {
187 typedef typename F::template apply<
188 T1
189 , na, na, na
190
191 > type;
192 };
193
194 template<
195 typename F, typename T1
196 >
197 struct apply_wrap_impl1<
198 5
199 , F
200 , T1
201 >
202 {
203 typedef typename F::template apply<
204 T1
205 , na, na, na, na
206
207 > type;
208 };
209
210 template<
211 typename F, typename T1
212 >
213 struct apply_wrap1
214 : apply_wrap_impl1<
215 ::boost::mpl::aux::arity< F,1 >::value
216 , F
217 , T1
218 >::type
219 {
220 };
221
222 template<
223 int N, typename F, typename T1, typename T2
224 >
225 struct apply_wrap_impl2;
226
227 template<
228 typename F, typename T1, typename T2
229 >
230 struct apply_wrap_impl2<
231 2
232 , F
233 , T1, T2
234 >
235 {
236 typedef typename F::template apply<
237 T1, T2
238
239 > type;
240 };
241
242 template<
243 typename F, typename T1, typename T2
244 >
245 struct apply_wrap_impl2<
246 3
247 , F
248 , T1, T2
249 >
250 {
251 typedef typename F::template apply<
252 T1, T2
253
254 , na
255
256 > type;
257 };
258
259 template<
260 typename F, typename T1, typename T2
261 >
262 struct apply_wrap_impl2<
263 4
264 , F
265 , T1, T2
266 >
267 {
268 typedef typename F::template apply<
269 T1, T2
270
271 , na, na
272
273 > type;
274 };
275
276 template<
277 typename F, typename T1, typename T2
278 >
279 struct apply_wrap_impl2<
280 5
281 , F
282 , T1, T2
283 >
284 {
285 typedef typename F::template apply<
286 T1, T2
287
288 , na, na, na
289
290 > type;
291 };
292
293 template<
294 typename F, typename T1, typename T2
295 >
296 struct apply_wrap2
297 : apply_wrap_impl2<
298 ::boost::mpl::aux::arity< F,2 >::value
299 , F
300 , T1, T2
301 >::type
302 {
303 };
304
305 template<
306 int N, typename F, typename T1, typename T2, typename T3
307 >
308 struct apply_wrap_impl3;
309
310 template<
311 typename F, typename T1, typename T2, typename T3
312 >
313 struct apply_wrap_impl3<
314 3
315 , F
316 , T1, T2, T3
317 >
318 {
319 typedef typename F::template apply<
320 T1, T2, T3
321
322 > type;
323 };
324
325 template<
326 typename F, typename T1, typename T2, typename T3
327 >
328 struct apply_wrap_impl3<
329 4
330 , F
331 , T1, T2, T3
332 >
333 {
334 typedef typename F::template apply<
335 T1, T2, T3
336
337 , na
338
339 > type;
340 };
341
342 template<
343 typename F, typename T1, typename T2, typename T3
344 >
345 struct apply_wrap_impl3<
346 5
347 , F
348 , T1, T2, T3
349 >
350 {
351 typedef typename F::template apply<
352 T1, T2, T3
353
354 , na, na
355
356 > type;
357 };
358
359 template<
360 typename F, typename T1, typename T2, typename T3
361 >
362 struct apply_wrap3
363 : apply_wrap_impl3<
364 ::boost::mpl::aux::arity< F,3 >::value
365 , F
366 , T1, T2, T3
367 >::type
368 {
369 };
370
371 template<
372 int N, typename F, typename T1, typename T2, typename T3, typename T4
373 >
374 struct apply_wrap_impl4;
375
376 template<
377 typename F, typename T1, typename T2, typename T3, typename T4
378 >
379 struct apply_wrap_impl4<
380 4
381 , F
382 , T1, T2, T3, T4
383 >
384 {
385 typedef typename F::template apply<
386 T1, T2, T3, T4
387
388 > type;
389 };
390
391 template<
392 typename F, typename T1, typename T2, typename T3, typename T4
393 >
394 struct apply_wrap_impl4<
395 5
396 , F
397 , T1, T2, T3, T4
398 >
399 {
400 typedef typename F::template apply<
401 T1, T2, T3, T4
402
403 , na
404
405 > type;
406 };
407
408 template<
409 typename F, typename T1, typename T2, typename T3, typename T4
410 >
411 struct apply_wrap4
412 : apply_wrap_impl4<
413 ::boost::mpl::aux::arity< F,4 >::value
414 , F
415 , T1, T2, T3, T4
416 >::type
417 {
418 };
419
420 template<
421 int N, typename F, typename T1, typename T2, typename T3, typename T4
422 , typename T5
423 >
424 struct apply_wrap_impl5;
425
426 template<
427 typename F, typename T1, typename T2, typename T3, typename T4
428 , typename T5
429 >
430 struct apply_wrap_impl5<
431 5
432 , F
433 , T1, T2, T3, T4, T5
434 >
435 {
436 typedef typename F::template apply<
437 T1, T2, T3, T4, T5
438
439 > type;
440 };
441
442 template<
443 typename F, typename T1, typename T2, typename T3, typename T4
444 , typename T5
445 >
446 struct apply_wrap5
447 : apply_wrap_impl5<
448 ::boost::mpl::aux::arity< F,5 >::value
449 , F
450 , T1, T2, T3, T4, T5
451 >::type
452 {
453 };
454
455 }}
456