~ubuntu-branches/ubuntu/warty/aqsis/warty

« back to all changes in this revision

Viewing changes to boost/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp

  • Committer: Bazaar Package Importer
  • Author(s): LaMont Jones
  • Date: 2004-08-24 07:25:04 UTC
  • Revision ID: james.westby@ubuntu.com-20040824072504-zf993vnevvisdsvb
Tags: upstream-0.9.1
ImportĀ upstreamĀ versionĀ 0.9.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// preprocessed version of 'boost/mpl/vector/vector20.hpp' header
 
2
// see the original for copyright information
 
3
 
 
4
namespace boost {
 
5
namespace mpl {
 
6
 
 
7
template<
 
8
      typename T0, typename T1, typename T2, typename T3, typename T4
 
9
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
10
    , typename T10
 
11
    >
 
12
struct vector11
 
13
{
 
14
    typedef aux::vector_tag<11> tag;
 
15
    typedef vector11 type;
 
16
    typedef T0 item0;
 
17
    typedef T1 item1;
 
18
    typedef T2 item2;
 
19
    typedef T3 item3;
 
20
    typedef T4 item4;
 
21
    typedef T5 item5;
 
22
    typedef T6 item6;
 
23
    typedef T7 item7;
 
24
    typedef T8 item8;
 
25
    typedef T9 item9;
 
26
    typedef T10 item10;
 
27
    
 
28
 
 
29
    typedef void_ item11;
 
30
    typedef T10 back;
 
31
    typedef vector_iterator< type,integral_c<long,0> > begin;
 
32
    typedef vector_iterator< type,integral_c<long,11> > end;
 
33
};
 
34
 
 
35
template<>
 
36
struct push_front_traits< aux::vector_tag< 10> >
 
37
{
 
38
    template< typename Vector, typename T > struct algorithm
 
39
    {
 
40
        typedef vector11<
 
41
              T
 
42
              ,
 
43
              typename Vector::item0, typename Vector::item1
 
44
            , typename Vector::item2, typename Vector::item3
 
45
            , typename Vector::item4, typename Vector::item5
 
46
            , typename Vector::item6, typename Vector::item7
 
47
            , typename Vector::item8, typename Vector::item9
 
48
            > type;
 
49
    };
 
50
};
 
51
 
 
52
template<>
 
53
struct pop_front_traits< aux::vector_tag< 11> >
 
54
{
 
55
    template< typename Vector > struct algorithm
 
56
    {
 
57
        typedef vector10<
 
58
              typename Vector::item1, typename Vector::item2
 
59
            , typename Vector::item3, typename Vector::item4
 
60
            , typename Vector::item5, typename Vector::item6
 
61
            , typename Vector::item7, typename Vector::item8
 
62
            , typename Vector::item9, typename Vector::item10
 
63
            > type;
 
64
    };
 
65
};
 
66
 
 
67
template< typename V >
 
68
struct vector_item< V,11 >
 
69
{
 
70
    typedef typename V::item11 type;
 
71
};
 
72
 
 
73
template<
 
74
      typename T0, typename T1, typename T2, typename T3, typename T4
 
75
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
76
    , typename T10, typename T11
 
77
    >
 
78
struct vector12
 
79
{
 
80
    typedef aux::vector_tag<12> tag;
 
81
    typedef vector12 type;
 
82
    typedef T0 item0;
 
83
    typedef T1 item1;
 
84
    typedef T2 item2;
 
85
    typedef T3 item3;
 
86
    typedef T4 item4;
 
87
    typedef T5 item5;
 
88
    typedef T6 item6;
 
89
    typedef T7 item7;
 
90
    typedef T8 item8;
 
91
    typedef T9 item9;
 
92
    typedef T10 item10;
 
93
    typedef T11 item11;
 
94
    
 
95
 
 
96
    typedef void_ item12;
 
97
    typedef T11 back;
 
98
    typedef vector_iterator< type,integral_c<long,0> > begin;
 
99
    typedef vector_iterator< type,integral_c<long,12> > end;
 
100
};
 
101
 
 
102
template<>
 
103
struct push_front_traits< aux::vector_tag< 11> >
 
104
{
 
105
    template< typename Vector, typename T > struct algorithm
 
106
    {
 
107
        typedef vector12<
 
108
              T
 
109
              ,
 
110
              typename Vector::item0, typename Vector::item1
 
111
            , typename Vector::item2, typename Vector::item3
 
112
            , typename Vector::item4, typename Vector::item5
 
113
            , typename Vector::item6, typename Vector::item7
 
114
            , typename Vector::item8, typename Vector::item9
 
115
            , typename Vector::item10
 
116
            > type;
 
117
    };
 
118
};
 
119
 
 
120
template<>
 
121
struct pop_front_traits< aux::vector_tag< 12> >
 
122
{
 
123
    template< typename Vector > struct algorithm
 
124
    {
 
125
        typedef vector11<
 
126
              typename Vector::item1, typename Vector::item2
 
127
            , typename Vector::item3, typename Vector::item4
 
128
            , typename Vector::item5, typename Vector::item6
 
129
            , typename Vector::item7, typename Vector::item8
 
130
            , typename Vector::item9, typename Vector::item10
 
131
            , typename Vector::item11
 
132
            > type;
 
133
    };
 
134
};
 
135
 
 
136
template< typename V >
 
137
struct vector_item< V,12 >
 
138
{
 
139
    typedef typename V::item12 type;
 
140
};
 
141
 
 
142
template<
 
143
      typename T0, typename T1, typename T2, typename T3, typename T4
 
144
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
145
    , typename T10, typename T11, typename T12
 
146
    >
 
147
struct vector13
 
148
{
 
149
    typedef aux::vector_tag<13> tag;
 
150
    typedef vector13 type;
 
151
    typedef T0 item0;
 
152
    typedef T1 item1;
 
153
    typedef T2 item2;
 
154
    typedef T3 item3;
 
155
    typedef T4 item4;
 
156
    typedef T5 item5;
 
157
    typedef T6 item6;
 
158
    typedef T7 item7;
 
159
    typedef T8 item8;
 
160
    typedef T9 item9;
 
161
    typedef T10 item10;
 
162
    typedef T11 item11;
 
163
    typedef T12 item12;
 
164
    
 
165
 
 
166
    typedef void_ item13;
 
167
    typedef T12 back;
 
168
    typedef vector_iterator< type,integral_c<long,0> > begin;
 
169
    typedef vector_iterator< type,integral_c<long,13> > end;
 
170
};
 
171
 
 
172
template<>
 
173
struct push_front_traits< aux::vector_tag< 12> >
 
174
{
 
175
    template< typename Vector, typename T > struct algorithm
 
176
    {
 
177
        typedef vector13<
 
178
              T
 
179
              ,
 
180
              typename Vector::item0, typename Vector::item1
 
181
            , typename Vector::item2, typename Vector::item3
 
182
            , typename Vector::item4, typename Vector::item5
 
183
            , typename Vector::item6, typename Vector::item7
 
184
            , typename Vector::item8, typename Vector::item9
 
185
            , typename Vector::item10, typename Vector::item11
 
186
            > type;
 
187
    };
 
188
};
 
189
 
 
190
template<>
 
191
struct pop_front_traits< aux::vector_tag< 13> >
 
192
{
 
193
    template< typename Vector > struct algorithm
 
194
    {
 
195
        typedef vector12<
 
196
              typename Vector::item1, typename Vector::item2
 
197
            , typename Vector::item3, typename Vector::item4
 
198
            , typename Vector::item5, typename Vector::item6
 
199
            , typename Vector::item7, typename Vector::item8
 
200
            , typename Vector::item9, typename Vector::item10
 
201
            , typename Vector::item11, typename Vector::item12
 
202
            > type;
 
203
    };
 
204
};
 
205
 
 
206
template< typename V >
 
207
struct vector_item< V,13 >
 
208
{
 
209
    typedef typename V::item13 type;
 
210
};
 
211
 
 
212
template<
 
213
      typename T0, typename T1, typename T2, typename T3, typename T4
 
214
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
215
    , typename T10, typename T11, typename T12, typename T13
 
216
    >
 
217
struct vector14
 
218
{
 
219
    typedef aux::vector_tag<14> tag;
 
220
    typedef vector14 type;
 
221
    typedef T0 item0;
 
222
    typedef T1 item1;
 
223
    typedef T2 item2;
 
224
    typedef T3 item3;
 
225
    typedef T4 item4;
 
226
    typedef T5 item5;
 
227
    typedef T6 item6;
 
228
    typedef T7 item7;
 
229
    typedef T8 item8;
 
230
    typedef T9 item9;
 
231
    typedef T10 item10;
 
232
    typedef T11 item11;
 
233
    typedef T12 item12;
 
234
    typedef T13 item13;
 
235
    
 
236
 
 
237
    typedef void_ item14;
 
238
    typedef T13 back;
 
239
    typedef vector_iterator< type,integral_c<long,0> > begin;
 
240
    typedef vector_iterator< type,integral_c<long,14> > end;
 
241
};
 
242
 
 
243
template<>
 
244
struct push_front_traits< aux::vector_tag< 13> >
 
245
{
 
246
    template< typename Vector, typename T > struct algorithm
 
247
    {
 
248
        typedef vector14<
 
249
              T
 
250
              ,
 
251
              typename Vector::item0, typename Vector::item1
 
252
            , typename Vector::item2, typename Vector::item3
 
253
            , typename Vector::item4, typename Vector::item5
 
254
            , typename Vector::item6, typename Vector::item7
 
255
            , typename Vector::item8, typename Vector::item9
 
256
            , typename Vector::item10, typename Vector::item11
 
257
            , typename Vector::item12
 
258
            > type;
 
259
    };
 
260
};
 
261
 
 
262
template<>
 
263
struct pop_front_traits< aux::vector_tag< 14> >
 
264
{
 
265
    template< typename Vector > struct algorithm
 
266
    {
 
267
        typedef vector13<
 
268
              typename Vector::item1, typename Vector::item2
 
269
            , typename Vector::item3, typename Vector::item4
 
270
            , typename Vector::item5, typename Vector::item6
 
271
            , typename Vector::item7, typename Vector::item8
 
272
            , typename Vector::item9, typename Vector::item10
 
273
            , typename Vector::item11, typename Vector::item12
 
274
            , typename Vector::item13
 
275
            > type;
 
276
    };
 
277
};
 
278
 
 
279
template< typename V >
 
280
struct vector_item< V,14 >
 
281
{
 
282
    typedef typename V::item14 type;
 
283
};
 
284
 
 
285
template<
 
286
      typename T0, typename T1, typename T2, typename T3, typename T4
 
287
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
288
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
289
    >
 
290
struct vector15
 
291
{
 
292
    typedef aux::vector_tag<15> tag;
 
293
    typedef vector15 type;
 
294
    typedef T0 item0;
 
295
    typedef T1 item1;
 
296
    typedef T2 item2;
 
297
    typedef T3 item3;
 
298
    typedef T4 item4;
 
299
    typedef T5 item5;
 
300
    typedef T6 item6;
 
301
    typedef T7 item7;
 
302
    typedef T8 item8;
 
303
    typedef T9 item9;
 
304
    typedef T10 item10;
 
305
    typedef T11 item11;
 
306
    typedef T12 item12;
 
307
    typedef T13 item13;
 
308
    typedef T14 item14;
 
309
    
 
310
 
 
311
    typedef void_ item15;
 
312
    typedef T14 back;
 
313
    typedef vector_iterator< type,integral_c<long,0> > begin;
 
314
    typedef vector_iterator< type,integral_c<long,15> > end;
 
315
};
 
316
 
 
317
template<>
 
318
struct push_front_traits< aux::vector_tag< 14> >
 
319
{
 
320
    template< typename Vector, typename T > struct algorithm
 
321
    {
 
322
        typedef vector15<
 
323
              T
 
324
              ,
 
325
              typename Vector::item0, typename Vector::item1
 
326
            , typename Vector::item2, typename Vector::item3
 
327
            , typename Vector::item4, typename Vector::item5
 
328
            , typename Vector::item6, typename Vector::item7
 
329
            , typename Vector::item8, typename Vector::item9
 
330
            , typename Vector::item10, typename Vector::item11
 
331
            , typename Vector::item12, typename Vector::item13
 
332
            > type;
 
333
    };
 
334
};
 
335
 
 
336
template<>
 
337
struct pop_front_traits< aux::vector_tag< 15> >
 
338
{
 
339
    template< typename Vector > struct algorithm
 
340
    {
 
341
        typedef vector14<
 
342
              typename Vector::item1, typename Vector::item2
 
343
            , typename Vector::item3, typename Vector::item4
 
344
            , typename Vector::item5, typename Vector::item6
 
345
            , typename Vector::item7, typename Vector::item8
 
346
            , typename Vector::item9, typename Vector::item10
 
347
            , typename Vector::item11, typename Vector::item12
 
348
            , typename Vector::item13, typename Vector::item14
 
349
            > type;
 
350
    };
 
351
};
 
352
 
 
353
template< typename V >
 
354
struct vector_item< V,15 >
 
355
{
 
356
    typedef typename V::item15 type;
 
357
};
 
358
 
 
359
template<
 
360
      typename T0, typename T1, typename T2, typename T3, typename T4
 
361
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
362
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
363
    , typename T15
 
364
    >
 
365
struct vector16
 
366
{
 
367
    typedef aux::vector_tag<16> tag;
 
368
    typedef vector16 type;
 
369
    typedef T0 item0;
 
370
    typedef T1 item1;
 
371
    typedef T2 item2;
 
372
    typedef T3 item3;
 
373
    typedef T4 item4;
 
374
    typedef T5 item5;
 
375
    typedef T6 item6;
 
376
    typedef T7 item7;
 
377
    typedef T8 item8;
 
378
    typedef T9 item9;
 
379
    typedef T10 item10;
 
380
    typedef T11 item11;
 
381
    typedef T12 item12;
 
382
    typedef T13 item13;
 
383
    typedef T14 item14;
 
384
    typedef T15 item15;
 
385
    
 
386
 
 
387
    typedef void_ item16;
 
388
    typedef T15 back;
 
389
    typedef vector_iterator< type,integral_c<long,0> > begin;
 
390
    typedef vector_iterator< type,integral_c<long,16> > end;
 
391
};
 
392
 
 
393
template<>
 
394
struct push_front_traits< aux::vector_tag< 15> >
 
395
{
 
396
    template< typename Vector, typename T > struct algorithm
 
397
    {
 
398
        typedef vector16<
 
399
              T
 
400
              ,
 
401
              typename Vector::item0, typename Vector::item1
 
402
            , typename Vector::item2, typename Vector::item3
 
403
            , typename Vector::item4, typename Vector::item5
 
404
            , typename Vector::item6, typename Vector::item7
 
405
            , typename Vector::item8, typename Vector::item9
 
406
            , typename Vector::item10, typename Vector::item11
 
407
            , typename Vector::item12, typename Vector::item13
 
408
            , typename Vector::item14
 
409
            > type;
 
410
    };
 
411
};
 
412
 
 
413
template<>
 
414
struct pop_front_traits< aux::vector_tag< 16> >
 
415
{
 
416
    template< typename Vector > struct algorithm
 
417
    {
 
418
        typedef vector15<
 
419
              typename Vector::item1, typename Vector::item2
 
420
            , typename Vector::item3, typename Vector::item4
 
421
            , typename Vector::item5, typename Vector::item6
 
422
            , typename Vector::item7, typename Vector::item8
 
423
            , typename Vector::item9, typename Vector::item10
 
424
            , typename Vector::item11, typename Vector::item12
 
425
            , typename Vector::item13, typename Vector::item14
 
426
            , typename Vector::item15
 
427
            > type;
 
428
    };
 
429
};
 
430
 
 
431
template< typename V >
 
432
struct vector_item< V,16 >
 
433
{
 
434
    typedef typename V::item16 type;
 
435
};
 
436
 
 
437
template<
 
438
      typename T0, typename T1, typename T2, typename T3, typename T4
 
439
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
440
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
441
    , typename T15, typename T16
 
442
    >
 
443
struct vector17
 
444
{
 
445
    typedef aux::vector_tag<17> tag;
 
446
    typedef vector17 type;
 
447
    typedef T0 item0;
 
448
    typedef T1 item1;
 
449
    typedef T2 item2;
 
450
    typedef T3 item3;
 
451
    typedef T4 item4;
 
452
    typedef T5 item5;
 
453
    typedef T6 item6;
 
454
    typedef T7 item7;
 
455
    typedef T8 item8;
 
456
    typedef T9 item9;
 
457
    typedef T10 item10;
 
458
    typedef T11 item11;
 
459
    typedef T12 item12;
 
460
    typedef T13 item13;
 
461
    typedef T14 item14;
 
462
    typedef T15 item15;
 
463
    typedef T16 item16;
 
464
    
 
465
 
 
466
    typedef void_ item17;
 
467
    typedef T16 back;
 
468
    typedef vector_iterator< type,integral_c<long,0> > begin;
 
469
    typedef vector_iterator< type,integral_c<long,17> > end;
 
470
};
 
471
 
 
472
template<>
 
473
struct push_front_traits< aux::vector_tag< 16> >
 
474
{
 
475
    template< typename Vector, typename T > struct algorithm
 
476
    {
 
477
        typedef vector17<
 
478
              T
 
479
              ,
 
480
              typename Vector::item0, typename Vector::item1
 
481
            , typename Vector::item2, typename Vector::item3
 
482
            , typename Vector::item4, typename Vector::item5
 
483
            , typename Vector::item6, typename Vector::item7
 
484
            , typename Vector::item8, typename Vector::item9
 
485
            , typename Vector::item10, typename Vector::item11
 
486
            , typename Vector::item12, typename Vector::item13
 
487
            , typename Vector::item14, typename Vector::item15
 
488
            > type;
 
489
    };
 
490
};
 
491
 
 
492
template<>
 
493
struct pop_front_traits< aux::vector_tag< 17> >
 
494
{
 
495
    template< typename Vector > struct algorithm
 
496
    {
 
497
        typedef vector16<
 
498
              typename Vector::item1, typename Vector::item2
 
499
            , typename Vector::item3, typename Vector::item4
 
500
            , typename Vector::item5, typename Vector::item6
 
501
            , typename Vector::item7, typename Vector::item8
 
502
            , typename Vector::item9, typename Vector::item10
 
503
            , typename Vector::item11, typename Vector::item12
 
504
            , typename Vector::item13, typename Vector::item14
 
505
            , typename Vector::item15, typename Vector::item16
 
506
            > type;
 
507
    };
 
508
};
 
509
 
 
510
template< typename V >
 
511
struct vector_item< V,17 >
 
512
{
 
513
    typedef typename V::item17 type;
 
514
};
 
515
 
 
516
template<
 
517
      typename T0, typename T1, typename T2, typename T3, typename T4
 
518
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
519
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
520
    , typename T15, typename T16, typename T17
 
521
    >
 
522
struct vector18
 
523
{
 
524
    typedef aux::vector_tag<18> tag;
 
525
    typedef vector18 type;
 
526
    typedef T0 item0;
 
527
    typedef T1 item1;
 
528
    typedef T2 item2;
 
529
    typedef T3 item3;
 
530
    typedef T4 item4;
 
531
    typedef T5 item5;
 
532
    typedef T6 item6;
 
533
    typedef T7 item7;
 
534
    typedef T8 item8;
 
535
    typedef T9 item9;
 
536
    typedef T10 item10;
 
537
    typedef T11 item11;
 
538
    typedef T12 item12;
 
539
    typedef T13 item13;
 
540
    typedef T14 item14;
 
541
    typedef T15 item15;
 
542
    typedef T16 item16;
 
543
    typedef T17 item17;
 
544
    
 
545
 
 
546
    typedef void_ item18;
 
547
    typedef T17 back;
 
548
    typedef vector_iterator< type,integral_c<long,0> > begin;
 
549
    typedef vector_iterator< type,integral_c<long,18> > end;
 
550
};
 
551
 
 
552
template<>
 
553
struct push_front_traits< aux::vector_tag< 17> >
 
554
{
 
555
    template< typename Vector, typename T > struct algorithm
 
556
    {
 
557
        typedef vector18<
 
558
              T
 
559
              ,
 
560
              typename Vector::item0, typename Vector::item1
 
561
            , typename Vector::item2, typename Vector::item3
 
562
            , typename Vector::item4, typename Vector::item5
 
563
            , typename Vector::item6, typename Vector::item7
 
564
            , typename Vector::item8, typename Vector::item9
 
565
            , typename Vector::item10, typename Vector::item11
 
566
            , typename Vector::item12, typename Vector::item13
 
567
            , typename Vector::item14, typename Vector::item15
 
568
            , typename Vector::item16
 
569
            > type;
 
570
    };
 
571
};
 
572
 
 
573
template<>
 
574
struct pop_front_traits< aux::vector_tag< 18> >
 
575
{
 
576
    template< typename Vector > struct algorithm
 
577
    {
 
578
        typedef vector17<
 
579
              typename Vector::item1, typename Vector::item2
 
580
            , typename Vector::item3, typename Vector::item4
 
581
            , typename Vector::item5, typename Vector::item6
 
582
            , typename Vector::item7, typename Vector::item8
 
583
            , typename Vector::item9, typename Vector::item10
 
584
            , typename Vector::item11, typename Vector::item12
 
585
            , typename Vector::item13, typename Vector::item14
 
586
            , typename Vector::item15, typename Vector::item16
 
587
            , typename Vector::item17
 
588
            > type;
 
589
    };
 
590
};
 
591
 
 
592
template< typename V >
 
593
struct vector_item< V,18 >
 
594
{
 
595
    typedef typename V::item18 type;
 
596
};
 
597
 
 
598
template<
 
599
      typename T0, typename T1, typename T2, typename T3, typename T4
 
600
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
601
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
602
    , typename T15, typename T16, typename T17, typename T18
 
603
    >
 
604
struct vector19
 
605
{
 
606
    typedef aux::vector_tag<19> tag;
 
607
    typedef vector19 type;
 
608
    typedef T0 item0;
 
609
    typedef T1 item1;
 
610
    typedef T2 item2;
 
611
    typedef T3 item3;
 
612
    typedef T4 item4;
 
613
    typedef T5 item5;
 
614
    typedef T6 item6;
 
615
    typedef T7 item7;
 
616
    typedef T8 item8;
 
617
    typedef T9 item9;
 
618
    typedef T10 item10;
 
619
    typedef T11 item11;
 
620
    typedef T12 item12;
 
621
    typedef T13 item13;
 
622
    typedef T14 item14;
 
623
    typedef T15 item15;
 
624
    typedef T16 item16;
 
625
    typedef T17 item17;
 
626
    typedef T18 item18;
 
627
    
 
628
 
 
629
    typedef void_ item19;
 
630
    typedef T18 back;
 
631
    typedef vector_iterator< type,integral_c<long,0> > begin;
 
632
    typedef vector_iterator< type,integral_c<long,19> > end;
 
633
};
 
634
 
 
635
template<>
 
636
struct push_front_traits< aux::vector_tag< 18> >
 
637
{
 
638
    template< typename Vector, typename T > struct algorithm
 
639
    {
 
640
        typedef vector19<
 
641
              T
 
642
              ,
 
643
              typename Vector::item0, typename Vector::item1
 
644
            , typename Vector::item2, typename Vector::item3
 
645
            , typename Vector::item4, typename Vector::item5
 
646
            , typename Vector::item6, typename Vector::item7
 
647
            , typename Vector::item8, typename Vector::item9
 
648
            , typename Vector::item10, typename Vector::item11
 
649
            , typename Vector::item12, typename Vector::item13
 
650
            , typename Vector::item14, typename Vector::item15
 
651
            , typename Vector::item16, typename Vector::item17
 
652
            > type;
 
653
    };
 
654
};
 
655
 
 
656
template<>
 
657
struct pop_front_traits< aux::vector_tag< 19> >
 
658
{
 
659
    template< typename Vector > struct algorithm
 
660
    {
 
661
        typedef vector18<
 
662
              typename Vector::item1, typename Vector::item2
 
663
            , typename Vector::item3, typename Vector::item4
 
664
            , typename Vector::item5, typename Vector::item6
 
665
            , typename Vector::item7, typename Vector::item8
 
666
            , typename Vector::item9, typename Vector::item10
 
667
            , typename Vector::item11, typename Vector::item12
 
668
            , typename Vector::item13, typename Vector::item14
 
669
            , typename Vector::item15, typename Vector::item16
 
670
            , typename Vector::item17, typename Vector::item18
 
671
            > type;
 
672
    };
 
673
};
 
674
 
 
675
template< typename V >
 
676
struct vector_item< V,19 >
 
677
{
 
678
    typedef typename V::item19 type;
 
679
};
 
680
 
 
681
template<
 
682
      typename T0, typename T1, typename T2, typename T3, typename T4
 
683
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
684
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
685
    , typename T15, typename T16, typename T17, typename T18, typename T19
 
686
    >
 
687
struct vector20
 
688
{
 
689
    typedef aux::vector_tag<20> tag;
 
690
    typedef vector20 type;
 
691
    typedef T0 item0;
 
692
    typedef T1 item1;
 
693
    typedef T2 item2;
 
694
    typedef T3 item3;
 
695
    typedef T4 item4;
 
696
    typedef T5 item5;
 
697
    typedef T6 item6;
 
698
    typedef T7 item7;
 
699
    typedef T8 item8;
 
700
    typedef T9 item9;
 
701
    typedef T10 item10;
 
702
    typedef T11 item11;
 
703
    typedef T12 item12;
 
704
    typedef T13 item13;
 
705
    typedef T14 item14;
 
706
    typedef T15 item15;
 
707
    typedef T16 item16;
 
708
    typedef T17 item17;
 
709
    typedef T18 item18;
 
710
    typedef T19 item19;
 
711
    
 
712
 
 
713
    typedef void_ item20;
 
714
    typedef T19 back;
 
715
    typedef vector_iterator< type,integral_c<long,0> > begin;
 
716
    typedef vector_iterator< type,integral_c<long,20> > end;
 
717
};
 
718
 
 
719
template<>
 
720
struct push_front_traits< aux::vector_tag< 19> >
 
721
{
 
722
    template< typename Vector, typename T > struct algorithm
 
723
    {
 
724
        typedef vector20<
 
725
              T
 
726
              ,
 
727
              typename Vector::item0, typename Vector::item1
 
728
            , typename Vector::item2, typename Vector::item3
 
729
            , typename Vector::item4, typename Vector::item5
 
730
            , typename Vector::item6, typename Vector::item7
 
731
            , typename Vector::item8, typename Vector::item9
 
732
            , typename Vector::item10, typename Vector::item11
 
733
            , typename Vector::item12, typename Vector::item13
 
734
            , typename Vector::item14, typename Vector::item15
 
735
            , typename Vector::item16, typename Vector::item17
 
736
            , typename Vector::item18
 
737
            > type;
 
738
    };
 
739
};
 
740
 
 
741
template<>
 
742
struct pop_front_traits< aux::vector_tag< 20> >
 
743
{
 
744
    template< typename Vector > struct algorithm
 
745
    {
 
746
        typedef vector19<
 
747
              typename Vector::item1, typename Vector::item2
 
748
            , typename Vector::item3, typename Vector::item4
 
749
            , typename Vector::item5, typename Vector::item6
 
750
            , typename Vector::item7, typename Vector::item8
 
751
            , typename Vector::item9, typename Vector::item10
 
752
            , typename Vector::item11, typename Vector::item12
 
753
            , typename Vector::item13, typename Vector::item14
 
754
            , typename Vector::item15, typename Vector::item16
 
755
            , typename Vector::item17, typename Vector::item18
 
756
            , typename Vector::item19
 
757
            > type;
 
758
    };
 
759
};
 
760
 
 
761
template< typename V >
 
762
struct vector_item< V,20 >
 
763
{
 
764
    typedef typename V::item20 type;
 
765
};
 
766
 
 
767
} // namespace mpl
 
768
} // namespace boost
 
769