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.
list_c.hpp in vendors/XIOS/current/extern/boost/include/boost/mpl/aux_/preprocessed/no_ctps – NEMO

source: vendors/XIOS/current/extern/boost/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.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: 12.8 KB
Line 
1
2// Copyright Aleksey Gurtovoy 2000-2004
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 "boost/mpl/list_c.hpp" header
10// -- DO NOT modify by hand!
11
12namespace boost { namespace mpl {
13
14namespace aux {
15template< int N >
16struct list_c_chooser;
17
18}
19
20namespace aux {
21
22template<>
23struct list_c_chooser<0>
24{
25    template<
26          typename T, long C0, long C1, long C2, long C3, long C4, long C5
27        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
28        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
29        >
30    struct result_
31    {
32        typedef typename list0_c<
33              T
34            >::type type;
35
36    };
37};
38
39} // namespace aux
40
41namespace aux {
42
43template<>
44struct list_c_chooser<1>
45{
46    template<
47          typename T, long C0, long C1, long C2, long C3, long C4, long C5
48        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
49        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
50        >
51    struct result_
52    {
53        typedef typename list1_c<
54              T, C0
55            >::type type;
56
57    };
58};
59
60} // namespace aux
61
62namespace aux {
63
64template<>
65struct list_c_chooser<2>
66{
67    template<
68          typename T, long C0, long C1, long C2, long C3, long C4, long C5
69        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
70        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
71        >
72    struct result_
73    {
74        typedef typename list2_c<
75              T, C0, C1
76            >::type type;
77
78    };
79};
80
81} // namespace aux
82
83namespace aux {
84
85template<>
86struct list_c_chooser<3>
87{
88    template<
89          typename T, long C0, long C1, long C2, long C3, long C4, long C5
90        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
91        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
92        >
93    struct result_
94    {
95        typedef typename list3_c<
96              T, C0, C1, C2
97            >::type type;
98
99    };
100};
101
102} // namespace aux
103
104namespace aux {
105
106template<>
107struct list_c_chooser<4>
108{
109    template<
110          typename T, long C0, long C1, long C2, long C3, long C4, long C5
111        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
112        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
113        >
114    struct result_
115    {
116        typedef typename list4_c<
117              T, C0, C1, C2, C3
118            >::type type;
119
120    };
121};
122
123} // namespace aux
124
125namespace aux {
126
127template<>
128struct list_c_chooser<5>
129{
130    template<
131          typename T, long C0, long C1, long C2, long C3, long C4, long C5
132        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
133        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
134        >
135    struct result_
136    {
137        typedef typename list5_c<
138              T, C0, C1, C2, C3, C4
139            >::type type;
140
141    };
142};
143
144} // namespace aux
145
146namespace aux {
147
148template<>
149struct list_c_chooser<6>
150{
151    template<
152          typename T, long C0, long C1, long C2, long C3, long C4, long C5
153        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
154        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
155        >
156    struct result_
157    {
158        typedef typename list6_c<
159              T, C0, C1, C2, C3, C4, C5
160            >::type type;
161
162    };
163};
164
165} // namespace aux
166
167namespace aux {
168
169template<>
170struct list_c_chooser<7>
171{
172    template<
173          typename T, long C0, long C1, long C2, long C3, long C4, long C5
174        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
175        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
176        >
177    struct result_
178    {
179        typedef typename list7_c<
180              T, C0, C1, C2, C3, C4, C5, C6
181            >::type type;
182
183    };
184};
185
186} // namespace aux
187
188namespace aux {
189
190template<>
191struct list_c_chooser<8>
192{
193    template<
194          typename T, long C0, long C1, long C2, long C3, long C4, long C5
195        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
196        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
197        >
198    struct result_
199    {
200        typedef typename list8_c<
201              T, C0, C1, C2, C3, C4, C5, C6, C7
202            >::type type;
203
204    };
205};
206
207} // namespace aux
208
209namespace aux {
210
211template<>
212struct list_c_chooser<9>
213{
214    template<
215          typename T, long C0, long C1, long C2, long C3, long C4, long C5
216        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
217        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
218        >
219    struct result_
220    {
221        typedef typename list9_c<
222              T, C0, C1, C2, C3, C4, C5, C6, C7, C8
223            >::type type;
224
225    };
226};
227
228} // namespace aux
229
230namespace aux {
231
232template<>
233struct list_c_chooser<10>
234{
235    template<
236          typename T, long C0, long C1, long C2, long C3, long C4, long C5
237        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
238        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
239        >
240    struct result_
241    {
242        typedef typename list10_c<
243              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
244            >::type type;
245
246    };
247};
248
249} // namespace aux
250
251namespace aux {
252
253template<>
254struct list_c_chooser<11>
255{
256    template<
257          typename T, long C0, long C1, long C2, long C3, long C4, long C5
258        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
259        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
260        >
261    struct result_
262    {
263        typedef typename list11_c<
264              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
265            >::type type;
266
267    };
268};
269
270} // namespace aux
271
272namespace aux {
273
274template<>
275struct list_c_chooser<12>
276{
277    template<
278          typename T, long C0, long C1, long C2, long C3, long C4, long C5
279        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
280        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
281        >
282    struct result_
283    {
284        typedef typename list12_c<
285              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
286            >::type type;
287
288    };
289};
290
291} // namespace aux
292
293namespace aux {
294
295template<>
296struct list_c_chooser<13>
297{
298    template<
299          typename T, long C0, long C1, long C2, long C3, long C4, long C5
300        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
301        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
302        >
303    struct result_
304    {
305        typedef typename list13_c<
306              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
307            >::type type;
308
309    };
310};
311
312} // namespace aux
313
314namespace aux {
315
316template<>
317struct list_c_chooser<14>
318{
319    template<
320          typename T, long C0, long C1, long C2, long C3, long C4, long C5
321        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
322        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
323        >
324    struct result_
325    {
326        typedef typename list14_c<
327              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
328            >::type type;
329
330    };
331};
332
333} // namespace aux
334
335namespace aux {
336
337template<>
338struct list_c_chooser<15>
339{
340    template<
341          typename T, long C0, long C1, long C2, long C3, long C4, long C5
342        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
343        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
344        >
345    struct result_
346    {
347        typedef typename list15_c<
348              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
349            >::type type;
350
351    };
352};
353
354} // namespace aux
355
356namespace aux {
357
358template<>
359struct list_c_chooser<16>
360{
361    template<
362          typename T, long C0, long C1, long C2, long C3, long C4, long C5
363        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
364        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
365        >
366    struct result_
367    {
368        typedef typename list16_c<
369              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
370            >::type type;
371
372    };
373};
374
375} // namespace aux
376
377namespace aux {
378
379template<>
380struct list_c_chooser<17>
381{
382    template<
383          typename T, long C0, long C1, long C2, long C3, long C4, long C5
384        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
385        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
386        >
387    struct result_
388    {
389        typedef typename list17_c<
390              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
391            >::type type;
392
393    };
394};
395
396} // namespace aux
397
398namespace aux {
399
400template<>
401struct list_c_chooser<18>
402{
403    template<
404          typename T, long C0, long C1, long C2, long C3, long C4, long C5
405        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
406        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
407        >
408    struct result_
409    {
410        typedef typename list18_c<
411              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
412            >::type type;
413
414    };
415};
416
417} // namespace aux
418
419namespace aux {
420
421template<>
422struct list_c_chooser<19>
423{
424    template<
425          typename T, long C0, long C1, long C2, long C3, long C4, long C5
426        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
427        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
428        >
429    struct result_
430    {
431        typedef typename list19_c<
432              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
433            >::type type;
434
435    };
436};
437
438} // namespace aux
439
440namespace aux {
441
442template<>
443struct list_c_chooser<20>
444{
445    template<
446          typename T, long C0, long C1, long C2, long C3, long C4, long C5
447        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
448        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
449        >
450    struct result_
451    {
452        typedef typename list20_c<
453              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
454            >::type type;
455
456    };
457};
458
459} // namespace aux
460
461namespace aux {
462
463template< long C >
464struct is_list_c_arg
465{
466    BOOST_STATIC_CONSTANT(bool, value  = true);
467};
468
469template<>
470struct is_list_c_arg<LONG_MAX>
471{
472    BOOST_STATIC_CONSTANT(bool, value  = false);
473};
474
475template<
476      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
477    , long C9, long C10, long C11, long C12, long C13, long C14, long C15
478    , long C16, long C17, long C18, long C19, long C20
479    >
480struct list_c_count_args
481{
482    BOOST_STATIC_CONSTANT(int, value =
483          is_list_c_arg<C1>::value + is_list_c_arg<C2>::value
484        + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value
485        + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value
486        + is_list_c_arg<C7>::value + is_list_c_arg<C8>::value
487        + is_list_c_arg<C9>::value + is_list_c_arg<C10>::value
488        + is_list_c_arg<C11>::value + is_list_c_arg<C12>::value
489        + is_list_c_arg<C13>::value + is_list_c_arg<C14>::value
490        + is_list_c_arg<C15>::value + is_list_c_arg<C16>::value
491        + is_list_c_arg<C17>::value + is_list_c_arg<C18>::value
492        + is_list_c_arg<C19>::value + is_list_c_arg<C20>::value
493        );
494
495};
496
497template<
498      typename T, long C0, long C1, long C2, long C3, long C4, long C5
499    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
500    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
501    >
502struct list_c_impl
503{
504    typedef aux::list_c_count_args<
505          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
506        > arg_num_;
507
508    typedef typename aux::list_c_chooser< arg_num_::value >
509        ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
510};
511
512} // namespace aux
513
514template<
515      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
516    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
517    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
518    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
519    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
520    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
521    , long C18 = LONG_MAX, long C19 = LONG_MAX
522    >
523struct list_c
524    : aux::list_c_impl<
525          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
526        >::type
527{
528    typedef typename aux::list_c_impl<
529          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
530        >::type type;
531};
532
533}}
534
Note: See TracBrowser for help on using the repository browser.