~ubuntu-branches/ubuntu/saucy/deal.ii/saucy

« back to all changes in this revision

Viewing changes to contrib/boost/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp

  • Committer: Bazaar Package Importer
  • Author(s): Adam C. Powell, IV
  • Date: 2009-05-08 23:13:50 UTC
  • Revision ID: james.westby@ubuntu.com-20090508231350-rrh1ltgi0tifabwc
Tags: upstream-6.2.0
ImportĀ upstreamĀ versionĀ 6.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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/vector_c.hpp" header
 
10
// -- DO NOT modify by hand!
 
11
 
 
12
namespace boost { namespace mpl {
 
13
 
 
14
namespace aux {
 
15
template< int N >
 
16
struct vector_c_chooser;
 
17
 
 
18
}
 
19
 
 
20
namespace aux {
 
21
 
 
22
template<>
 
23
struct vector_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 vector0_c<
 
33
              T
 
34
            >::type type;
 
35
 
 
36
    };
 
37
};
 
38
 
 
39
} // namespace aux
 
40
 
 
41
namespace aux {
 
42
 
 
43
template<>
 
44
struct vector_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 vector1_c<
 
54
              T, T(C0)
 
55
            >::type type;
 
56
 
 
57
    };
 
58
};
 
59
 
 
60
} // namespace aux
 
61
 
 
62
namespace aux {
 
63
 
 
64
template<>
 
65
struct vector_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 vector2_c<
 
75
              T, T(C0), T(C1)
 
76
            >::type type;
 
77
 
 
78
    };
 
79
};
 
80
 
 
81
} // namespace aux
 
82
 
 
83
namespace aux {
 
84
 
 
85
template<>
 
86
struct vector_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 vector3_c<
 
96
              T, T(C0), T(C1), T(C2)
 
97
            >::type type;
 
98
 
 
99
    };
 
100
};
 
101
 
 
102
} // namespace aux
 
103
 
 
104
namespace aux {
 
105
 
 
106
template<>
 
107
struct vector_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 vector4_c<
 
117
              T, T(C0), T(C1), T(C2), T(C3)
 
118
            >::type type;
 
119
 
 
120
    };
 
121
};
 
122
 
 
123
} // namespace aux
 
124
 
 
125
namespace aux {
 
126
 
 
127
template<>
 
128
struct vector_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 vector5_c<
 
138
              T, T(C0), T(C1), T(C2), T(C3), T(C4)
 
139
            >::type type;
 
140
 
 
141
    };
 
142
};
 
143
 
 
144
} // namespace aux
 
145
 
 
146
namespace aux {
 
147
 
 
148
template<>
 
149
struct vector_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 vector6_c<
 
159
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5)
 
160
            >::type type;
 
161
 
 
162
    };
 
163
};
 
164
 
 
165
} // namespace aux
 
166
 
 
167
namespace aux {
 
168
 
 
169
template<>
 
170
struct vector_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 vector7_c<
 
180
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6)
 
181
            >::type type;
 
182
 
 
183
    };
 
184
};
 
185
 
 
186
} // namespace aux
 
187
 
 
188
namespace aux {
 
189
 
 
190
template<>
 
191
struct vector_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 vector8_c<
 
201
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7)
 
202
            >::type type;
 
203
 
 
204
    };
 
205
};
 
206
 
 
207
} // namespace aux
 
208
 
 
209
namespace aux {
 
210
 
 
211
template<>
 
212
struct vector_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 vector9_c<
 
222
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8)
 
223
            >::type type;
 
224
 
 
225
    };
 
226
};
 
227
 
 
228
} // namespace aux
 
229
 
 
230
namespace aux {
 
231
 
 
232
template<>
 
233
struct vector_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 vector10_c<
 
243
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9)
 
244
            >::type type;
 
245
 
 
246
    };
 
247
};
 
248
 
 
249
} // namespace aux
 
250
 
 
251
namespace aux {
 
252
 
 
253
template<>
 
254
struct vector_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 vector11_c<
 
264
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10)
 
265
            >::type type;
 
266
 
 
267
    };
 
268
};
 
269
 
 
270
} // namespace aux
 
271
 
 
272
namespace aux {
 
273
 
 
274
template<>
 
275
struct vector_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 vector12_c<
 
285
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11)
 
286
            >::type type;
 
287
 
 
288
    };
 
289
};
 
290
 
 
291
} // namespace aux
 
292
 
 
293
namespace aux {
 
294
 
 
295
template<>
 
296
struct vector_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 vector13_c<
 
306
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12)
 
307
            >::type type;
 
308
 
 
309
    };
 
310
};
 
311
 
 
312
} // namespace aux
 
313
 
 
314
namespace aux {
 
315
 
 
316
template<>
 
317
struct vector_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 vector14_c<
 
327
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13)
 
328
            >::type type;
 
329
 
 
330
    };
 
331
};
 
332
 
 
333
} // namespace aux
 
334
 
 
335
namespace aux {
 
336
 
 
337
template<>
 
338
struct vector_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 vector15_c<
 
348
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14)
 
349
            >::type type;
 
350
 
 
351
    };
 
352
};
 
353
 
 
354
} // namespace aux
 
355
 
 
356
namespace aux {
 
357
 
 
358
template<>
 
359
struct vector_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 vector16_c<
 
369
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15)
 
370
            >::type type;
 
371
 
 
372
    };
 
373
};
 
374
 
 
375
} // namespace aux
 
376
 
 
377
namespace aux {
 
378
 
 
379
template<>
 
380
struct vector_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 vector17_c<
 
390
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16)
 
391
            >::type type;
 
392
 
 
393
    };
 
394
};
 
395
 
 
396
} // namespace aux
 
397
 
 
398
namespace aux {
 
399
 
 
400
template<>
 
401
struct vector_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 vector18_c<
 
411
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17)
 
412
            >::type type;
 
413
 
 
414
    };
 
415
};
 
416
 
 
417
} // namespace aux
 
418
 
 
419
namespace aux {
 
420
 
 
421
template<>
 
422
struct vector_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 vector19_c<
 
432
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18)
 
433
            >::type type;
 
434
 
 
435
    };
 
436
};
 
437
 
 
438
} // namespace aux
 
439
 
 
440
namespace aux {
 
441
 
 
442
template<>
 
443
struct vector_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 vector20_c<
 
453
              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19)
 
454
            >::type type;
 
455
 
 
456
    };
 
457
};
 
458
 
 
459
} // namespace aux
 
460
 
 
461
namespace aux {
 
462
 
 
463
template< long C >
 
464
struct is_vector_c_arg
 
465
{
 
466
    BOOST_STATIC_CONSTANT(bool, value  = true);
 
467
};
 
468
 
 
469
template<>
 
470
struct is_vector_c_arg<LONG_MAX>
 
471
{
 
472
    BOOST_STATIC_CONSTANT(bool, value  = false);
 
473
};
 
474
 
 
475
template<
 
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
    >
 
480
struct vector_c_count_args
 
481
{
 
482
    BOOST_STATIC_CONSTANT(int, value =
 
483
          is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value 
 
484
        + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value 
 
485
        + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value 
 
486
        + is_vector_c_arg<C7>::value + is_vector_c_arg<C8>::value 
 
487
        + is_vector_c_arg<C9>::value + is_vector_c_arg<C10>::value 
 
488
        + is_vector_c_arg<C11>::value + is_vector_c_arg<C12>::value 
 
489
        + is_vector_c_arg<C13>::value + is_vector_c_arg<C14>::value 
 
490
        + is_vector_c_arg<C15>::value + is_vector_c_arg<C16>::value 
 
491
        + is_vector_c_arg<C17>::value + is_vector_c_arg<C18>::value 
 
492
        + is_vector_c_arg<C19>::value + is_vector_c_arg<C20>::value
 
493
        );
 
494
 
 
495
};
 
496
 
 
497
template<
 
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
    >
 
502
struct vector_c_impl
 
503
{
 
504
    typedef aux::vector_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::vector_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
 
 
514
template<
 
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
    >
 
523
struct vector_c
 
524
    : aux::vector_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::vector_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