New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
apply_wrap.hpp in vendors/XIOS/current/extern/boost/include/boost/mpl/aux_/preprocessed/bcc – NEMO

source: vendors/XIOS/current/extern/boost/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp @ 3428

Last change on this file since 3428 was 3428, checked in by rblod, 12 years ago

importing initial XIOS vendor drop

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