~ubuntu-branches/ubuntu/wily/davix/wily

« back to all changes in this revision

Viewing changes to deps/boost_intern/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp

  • Committer: Package Import Robot
  • Author(s): Mattias Ellert
  • Date: 2015-07-31 13:17:55 UTC
  • mfrom: (5.1.3 sid)
  • Revision ID: package-import@ubuntu.com-20150731131755-mizprbmn7ogv33te
Tags: 0.4.1-1
* Update to version 0.4.1
* Implement Multi-Arch support

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/vector30.hpp" header
10
 
// -- DO NOT modify by hand!
11
 
 
12
 
namespace boost { namespace mpl {
13
 
 
14
 
template<
15
 
      typename T0, typename T1, typename T2, typename T3, typename T4
16
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
17
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
18
 
    , typename T15, typename T16, typename T17, typename T18, typename T19
19
 
    , typename T20
20
 
    >
21
 
struct vector21
22
 
{
23
 
    typedef aux::vector_tag<21> tag;
24
 
    typedef vector21 type;
25
 
    typedef T0 item0;
26
 
    typedef T1 item1;
27
 
    typedef T2 item2;
28
 
    typedef T3 item3;
29
 
    typedef T4 item4;
30
 
    typedef T5 item5;
31
 
    typedef T6 item6;
32
 
    typedef T7 item7;
33
 
    typedef T8 item8;
34
 
    typedef T9 item9;
35
 
    typedef T10 item10;
36
 
    typedef T11 item11;
37
 
    typedef T12 item12;
38
 
    typedef T13 item13;
39
 
    typedef T14 item14;
40
 
    typedef T15 item15;
41
 
    typedef T16 item16;
42
 
    typedef T17 item17;
43
 
    typedef T18 item18;
44
 
    typedef T19 item19;
45
 
    typedef T20 item20;
46
 
    
47
 
 
48
 
    typedef void_ item21;
49
 
    typedef T20 back;
50
 
    typedef v_iter< type,0 > begin;
51
 
    typedef v_iter< type,21 > end;
52
 
};
53
 
 
54
 
template<>
55
 
struct push_front_impl< aux::vector_tag<20> >
56
 
{
57
 
    template< typename Vector, typename T > struct apply
58
 
    {
59
 
        typedef vector21<
60
 
              T
61
 
              ,
62
 
              typename Vector::item0, typename Vector::item1
63
 
            , typename Vector::item2, typename Vector::item3
64
 
            , typename Vector::item4, typename Vector::item5
65
 
            , typename Vector::item6, typename Vector::item7
66
 
            , typename Vector::item8, typename Vector::item9
67
 
            , typename Vector::item10, typename Vector::item11
68
 
            , typename Vector::item12, typename Vector::item13
69
 
            , typename Vector::item14, typename Vector::item15
70
 
            , typename Vector::item16, typename Vector::item17
71
 
            , typename Vector::item18, typename Vector::item19
72
 
            > type;
73
 
    };
74
 
};
75
 
 
76
 
template<>
77
 
struct pop_front_impl< aux::vector_tag<21> >
78
 
{
79
 
    template< typename Vector > struct apply
80
 
    {
81
 
        typedef vector20<
82
 
              typename Vector::item1, typename Vector::item2
83
 
            , typename Vector::item3, typename Vector::item4
84
 
            , typename Vector::item5, typename Vector::item6
85
 
            , typename Vector::item7, typename Vector::item8
86
 
            , typename Vector::item9, typename Vector::item10
87
 
            , typename Vector::item11, typename Vector::item12
88
 
            , typename Vector::item13, typename Vector::item14
89
 
            , typename Vector::item15, typename Vector::item16
90
 
            , typename Vector::item17, typename Vector::item18
91
 
            , typename Vector::item19, typename Vector::item20
92
 
            > type;
93
 
    };
94
 
};
95
 
 
96
 
template<>
97
 
struct push_back_impl< aux::vector_tag<20> >
98
 
{
99
 
    template< typename Vector, typename T > struct apply
100
 
    {
101
 
        typedef vector21<
102
 
              typename Vector::item0, typename Vector::item1
103
 
            , typename Vector::item2, typename Vector::item3
104
 
            , typename Vector::item4, typename Vector::item5
105
 
            , typename Vector::item6, typename Vector::item7
106
 
            , typename Vector::item8, typename Vector::item9
107
 
            , typename Vector::item10, typename Vector::item11
108
 
            , typename Vector::item12, typename Vector::item13
109
 
            , typename Vector::item14, typename Vector::item15
110
 
            , typename Vector::item16, typename Vector::item17
111
 
            , typename Vector::item18, typename Vector::item19
112
 
              ,
113
 
              T
114
 
            > type;
115
 
    };
116
 
};
117
 
 
118
 
template<>
119
 
struct pop_back_impl< aux::vector_tag<21> >
120
 
{
121
 
    template< typename Vector > struct apply
122
 
    {
123
 
        typedef vector20<
124
 
              typename Vector::item0, typename Vector::item1
125
 
            , typename Vector::item2, typename Vector::item3
126
 
            , typename Vector::item4, typename Vector::item5
127
 
            , typename Vector::item6, typename Vector::item7
128
 
            , typename Vector::item8, typename Vector::item9
129
 
            , typename Vector::item10, typename Vector::item11
130
 
            , typename Vector::item12, typename Vector::item13
131
 
            , typename Vector::item14, typename Vector::item15
132
 
            , typename Vector::item16, typename Vector::item17
133
 
            , typename Vector::item18, typename Vector::item19
134
 
            > type;
135
 
    };
136
 
};
137
 
 
138
 
template< typename V >
139
 
struct v_at< V,21 >
140
 
{
141
 
    typedef typename V::item21 type;
142
 
};
143
 
 
144
 
template<
145
 
      typename T0, typename T1, typename T2, typename T3, typename T4
146
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
147
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
148
 
    , typename T15, typename T16, typename T17, typename T18, typename T19
149
 
    , typename T20, typename T21
150
 
    >
151
 
struct vector22
152
 
{
153
 
    typedef aux::vector_tag<22> tag;
154
 
    typedef vector22 type;
155
 
    typedef T0 item0;
156
 
    typedef T1 item1;
157
 
    typedef T2 item2;
158
 
    typedef T3 item3;
159
 
    typedef T4 item4;
160
 
    typedef T5 item5;
161
 
    typedef T6 item6;
162
 
    typedef T7 item7;
163
 
    typedef T8 item8;
164
 
    typedef T9 item9;
165
 
    typedef T10 item10;
166
 
    typedef T11 item11;
167
 
    typedef T12 item12;
168
 
    typedef T13 item13;
169
 
    typedef T14 item14;
170
 
    typedef T15 item15;
171
 
    typedef T16 item16;
172
 
    typedef T17 item17;
173
 
    typedef T18 item18;
174
 
    typedef T19 item19;
175
 
    typedef T20 item20;
176
 
    typedef T21 item21;
177
 
    
178
 
 
179
 
    typedef void_ item22;
180
 
    typedef T21 back;
181
 
    typedef v_iter< type,0 > begin;
182
 
    typedef v_iter< type,22 > end;
183
 
};
184
 
 
185
 
template<>
186
 
struct push_front_impl< aux::vector_tag<21> >
187
 
{
188
 
    template< typename Vector, typename T > struct apply
189
 
    {
190
 
        typedef vector22<
191
 
              T
192
 
              ,
193
 
              typename Vector::item0, typename Vector::item1
194
 
            , typename Vector::item2, typename Vector::item3
195
 
            , typename Vector::item4, typename Vector::item5
196
 
            , typename Vector::item6, typename Vector::item7
197
 
            , typename Vector::item8, typename Vector::item9
198
 
            , typename Vector::item10, typename Vector::item11
199
 
            , typename Vector::item12, typename Vector::item13
200
 
            , typename Vector::item14, typename Vector::item15
201
 
            , typename Vector::item16, typename Vector::item17
202
 
            , typename Vector::item18, typename Vector::item19
203
 
            , typename Vector::item20
204
 
            > type;
205
 
    };
206
 
};
207
 
 
208
 
template<>
209
 
struct pop_front_impl< aux::vector_tag<22> >
210
 
{
211
 
    template< typename Vector > struct apply
212
 
    {
213
 
        typedef vector21<
214
 
              typename Vector::item1, typename Vector::item2
215
 
            , typename Vector::item3, typename Vector::item4
216
 
            , typename Vector::item5, typename Vector::item6
217
 
            , typename Vector::item7, typename Vector::item8
218
 
            , typename Vector::item9, typename Vector::item10
219
 
            , typename Vector::item11, typename Vector::item12
220
 
            , typename Vector::item13, typename Vector::item14
221
 
            , typename Vector::item15, typename Vector::item16
222
 
            , typename Vector::item17, typename Vector::item18
223
 
            , typename Vector::item19, typename Vector::item20
224
 
            , typename Vector::item21
225
 
            > type;
226
 
    };
227
 
};
228
 
 
229
 
template<>
230
 
struct push_back_impl< aux::vector_tag<21> >
231
 
{
232
 
    template< typename Vector, typename T > struct apply
233
 
    {
234
 
        typedef vector22<
235
 
              typename Vector::item0, typename Vector::item1
236
 
            , typename Vector::item2, typename Vector::item3
237
 
            , typename Vector::item4, typename Vector::item5
238
 
            , typename Vector::item6, typename Vector::item7
239
 
            , typename Vector::item8, typename Vector::item9
240
 
            , typename Vector::item10, typename Vector::item11
241
 
            , typename Vector::item12, typename Vector::item13
242
 
            , typename Vector::item14, typename Vector::item15
243
 
            , typename Vector::item16, typename Vector::item17
244
 
            , typename Vector::item18, typename Vector::item19
245
 
            , typename Vector::item20
246
 
              ,
247
 
              T
248
 
            > type;
249
 
    };
250
 
};
251
 
 
252
 
template<>
253
 
struct pop_back_impl< aux::vector_tag<22> >
254
 
{
255
 
    template< typename Vector > struct apply
256
 
    {
257
 
        typedef vector21<
258
 
              typename Vector::item0, typename Vector::item1
259
 
            , typename Vector::item2, typename Vector::item3
260
 
            , typename Vector::item4, typename Vector::item5
261
 
            , typename Vector::item6, typename Vector::item7
262
 
            , typename Vector::item8, typename Vector::item9
263
 
            , typename Vector::item10, typename Vector::item11
264
 
            , typename Vector::item12, typename Vector::item13
265
 
            , typename Vector::item14, typename Vector::item15
266
 
            , typename Vector::item16, typename Vector::item17
267
 
            , typename Vector::item18, typename Vector::item19
268
 
            , typename Vector::item20
269
 
            > type;
270
 
    };
271
 
};
272
 
 
273
 
template< typename V >
274
 
struct v_at< V,22 >
275
 
{
276
 
    typedef typename V::item22 type;
277
 
};
278
 
 
279
 
template<
280
 
      typename T0, typename T1, typename T2, typename T3, typename T4
281
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
282
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
283
 
    , typename T15, typename T16, typename T17, typename T18, typename T19
284
 
    , typename T20, typename T21, typename T22
285
 
    >
286
 
struct vector23
287
 
{
288
 
    typedef aux::vector_tag<23> tag;
289
 
    typedef vector23 type;
290
 
    typedef T0 item0;
291
 
    typedef T1 item1;
292
 
    typedef T2 item2;
293
 
    typedef T3 item3;
294
 
    typedef T4 item4;
295
 
    typedef T5 item5;
296
 
    typedef T6 item6;
297
 
    typedef T7 item7;
298
 
    typedef T8 item8;
299
 
    typedef T9 item9;
300
 
    typedef T10 item10;
301
 
    typedef T11 item11;
302
 
    typedef T12 item12;
303
 
    typedef T13 item13;
304
 
    typedef T14 item14;
305
 
    typedef T15 item15;
306
 
    typedef T16 item16;
307
 
    typedef T17 item17;
308
 
    typedef T18 item18;
309
 
    typedef T19 item19;
310
 
    typedef T20 item20;
311
 
    typedef T21 item21;
312
 
    typedef T22 item22;
313
 
    
314
 
 
315
 
    typedef void_ item23;
316
 
    typedef T22 back;
317
 
    typedef v_iter< type,0 > begin;
318
 
    typedef v_iter< type,23 > end;
319
 
};
320
 
 
321
 
template<>
322
 
struct push_front_impl< aux::vector_tag<22> >
323
 
{
324
 
    template< typename Vector, typename T > struct apply
325
 
    {
326
 
        typedef vector23<
327
 
              T
328
 
              ,
329
 
              typename Vector::item0, typename Vector::item1
330
 
            , typename Vector::item2, typename Vector::item3
331
 
            , typename Vector::item4, typename Vector::item5
332
 
            , typename Vector::item6, typename Vector::item7
333
 
            , typename Vector::item8, typename Vector::item9
334
 
            , typename Vector::item10, typename Vector::item11
335
 
            , typename Vector::item12, typename Vector::item13
336
 
            , typename Vector::item14, typename Vector::item15
337
 
            , typename Vector::item16, typename Vector::item17
338
 
            , typename Vector::item18, typename Vector::item19
339
 
            , typename Vector::item20, typename Vector::item21
340
 
            > type;
341
 
    };
342
 
};
343
 
 
344
 
template<>
345
 
struct pop_front_impl< aux::vector_tag<23> >
346
 
{
347
 
    template< typename Vector > struct apply
348
 
    {
349
 
        typedef vector22<
350
 
              typename Vector::item1, typename Vector::item2
351
 
            , typename Vector::item3, typename Vector::item4
352
 
            , typename Vector::item5, typename Vector::item6
353
 
            , typename Vector::item7, typename Vector::item8
354
 
            , typename Vector::item9, typename Vector::item10
355
 
            , typename Vector::item11, typename Vector::item12
356
 
            , typename Vector::item13, typename Vector::item14
357
 
            , typename Vector::item15, typename Vector::item16
358
 
            , typename Vector::item17, typename Vector::item18
359
 
            , typename Vector::item19, typename Vector::item20
360
 
            , typename Vector::item21, typename Vector::item22
361
 
            > type;
362
 
    };
363
 
};
364
 
 
365
 
template<>
366
 
struct push_back_impl< aux::vector_tag<22> >
367
 
{
368
 
    template< typename Vector, typename T > struct apply
369
 
    {
370
 
        typedef vector23<
371
 
              typename Vector::item0, typename Vector::item1
372
 
            , typename Vector::item2, typename Vector::item3
373
 
            , typename Vector::item4, typename Vector::item5
374
 
            , typename Vector::item6, typename Vector::item7
375
 
            , typename Vector::item8, typename Vector::item9
376
 
            , typename Vector::item10, typename Vector::item11
377
 
            , typename Vector::item12, typename Vector::item13
378
 
            , typename Vector::item14, typename Vector::item15
379
 
            , typename Vector::item16, typename Vector::item17
380
 
            , typename Vector::item18, typename Vector::item19
381
 
            , typename Vector::item20, typename Vector::item21
382
 
              ,
383
 
              T
384
 
            > type;
385
 
    };
386
 
};
387
 
 
388
 
template<>
389
 
struct pop_back_impl< aux::vector_tag<23> >
390
 
{
391
 
    template< typename Vector > struct apply
392
 
    {
393
 
        typedef vector22<
394
 
              typename Vector::item0, typename Vector::item1
395
 
            , typename Vector::item2, typename Vector::item3
396
 
            , typename Vector::item4, typename Vector::item5
397
 
            , typename Vector::item6, typename Vector::item7
398
 
            , typename Vector::item8, typename Vector::item9
399
 
            , typename Vector::item10, typename Vector::item11
400
 
            , typename Vector::item12, typename Vector::item13
401
 
            , typename Vector::item14, typename Vector::item15
402
 
            , typename Vector::item16, typename Vector::item17
403
 
            , typename Vector::item18, typename Vector::item19
404
 
            , typename Vector::item20, typename Vector::item21
405
 
            > type;
406
 
    };
407
 
};
408
 
 
409
 
template< typename V >
410
 
struct v_at< V,23 >
411
 
{
412
 
    typedef typename V::item23 type;
413
 
};
414
 
 
415
 
template<
416
 
      typename T0, typename T1, typename T2, typename T3, typename T4
417
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
418
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
419
 
    , typename T15, typename T16, typename T17, typename T18, typename T19
420
 
    , typename T20, typename T21, typename T22, typename T23
421
 
    >
422
 
struct vector24
423
 
{
424
 
    typedef aux::vector_tag<24> tag;
425
 
    typedef vector24 type;
426
 
    typedef T0 item0;
427
 
    typedef T1 item1;
428
 
    typedef T2 item2;
429
 
    typedef T3 item3;
430
 
    typedef T4 item4;
431
 
    typedef T5 item5;
432
 
    typedef T6 item6;
433
 
    typedef T7 item7;
434
 
    typedef T8 item8;
435
 
    typedef T9 item9;
436
 
    typedef T10 item10;
437
 
    typedef T11 item11;
438
 
    typedef T12 item12;
439
 
    typedef T13 item13;
440
 
    typedef T14 item14;
441
 
    typedef T15 item15;
442
 
    typedef T16 item16;
443
 
    typedef T17 item17;
444
 
    typedef T18 item18;
445
 
    typedef T19 item19;
446
 
    typedef T20 item20;
447
 
    typedef T21 item21;
448
 
    typedef T22 item22;
449
 
    typedef T23 item23;
450
 
    
451
 
 
452
 
    typedef void_ item24;
453
 
    typedef T23 back;
454
 
    typedef v_iter< type,0 > begin;
455
 
    typedef v_iter< type,24 > end;
456
 
};
457
 
 
458
 
template<>
459
 
struct push_front_impl< aux::vector_tag<23> >
460
 
{
461
 
    template< typename Vector, typename T > struct apply
462
 
    {
463
 
        typedef vector24<
464
 
              T
465
 
              ,
466
 
              typename Vector::item0, typename Vector::item1
467
 
            , typename Vector::item2, typename Vector::item3
468
 
            , typename Vector::item4, typename Vector::item5
469
 
            , typename Vector::item6, typename Vector::item7
470
 
            , typename Vector::item8, typename Vector::item9
471
 
            , typename Vector::item10, typename Vector::item11
472
 
            , typename Vector::item12, typename Vector::item13
473
 
            , typename Vector::item14, typename Vector::item15
474
 
            , typename Vector::item16, typename Vector::item17
475
 
            , typename Vector::item18, typename Vector::item19
476
 
            , typename Vector::item20, typename Vector::item21
477
 
            , typename Vector::item22
478
 
            > type;
479
 
    };
480
 
};
481
 
 
482
 
template<>
483
 
struct pop_front_impl< aux::vector_tag<24> >
484
 
{
485
 
    template< typename Vector > struct apply
486
 
    {
487
 
        typedef vector23<
488
 
              typename Vector::item1, typename Vector::item2
489
 
            , typename Vector::item3, typename Vector::item4
490
 
            , typename Vector::item5, typename Vector::item6
491
 
            , typename Vector::item7, typename Vector::item8
492
 
            , typename Vector::item9, typename Vector::item10
493
 
            , typename Vector::item11, typename Vector::item12
494
 
            , typename Vector::item13, typename Vector::item14
495
 
            , typename Vector::item15, typename Vector::item16
496
 
            , typename Vector::item17, typename Vector::item18
497
 
            , typename Vector::item19, typename Vector::item20
498
 
            , typename Vector::item21, typename Vector::item22
499
 
            , typename Vector::item23
500
 
            > type;
501
 
    };
502
 
};
503
 
 
504
 
template<>
505
 
struct push_back_impl< aux::vector_tag<23> >
506
 
{
507
 
    template< typename Vector, typename T > struct apply
508
 
    {
509
 
        typedef vector24<
510
 
              typename Vector::item0, typename Vector::item1
511
 
            , typename Vector::item2, typename Vector::item3
512
 
            , typename Vector::item4, typename Vector::item5
513
 
            , typename Vector::item6, typename Vector::item7
514
 
            , typename Vector::item8, typename Vector::item9
515
 
            , typename Vector::item10, typename Vector::item11
516
 
            , typename Vector::item12, typename Vector::item13
517
 
            , typename Vector::item14, typename Vector::item15
518
 
            , typename Vector::item16, typename Vector::item17
519
 
            , typename Vector::item18, typename Vector::item19
520
 
            , typename Vector::item20, typename Vector::item21
521
 
            , typename Vector::item22
522
 
              ,
523
 
              T
524
 
            > type;
525
 
    };
526
 
};
527
 
 
528
 
template<>
529
 
struct pop_back_impl< aux::vector_tag<24> >
530
 
{
531
 
    template< typename Vector > struct apply
532
 
    {
533
 
        typedef vector23<
534
 
              typename Vector::item0, typename Vector::item1
535
 
            , typename Vector::item2, typename Vector::item3
536
 
            , typename Vector::item4, typename Vector::item5
537
 
            , typename Vector::item6, typename Vector::item7
538
 
            , typename Vector::item8, typename Vector::item9
539
 
            , typename Vector::item10, typename Vector::item11
540
 
            , typename Vector::item12, typename Vector::item13
541
 
            , typename Vector::item14, typename Vector::item15
542
 
            , typename Vector::item16, typename Vector::item17
543
 
            , typename Vector::item18, typename Vector::item19
544
 
            , typename Vector::item20, typename Vector::item21
545
 
            , typename Vector::item22
546
 
            > type;
547
 
    };
548
 
};
549
 
 
550
 
template< typename V >
551
 
struct v_at< V,24 >
552
 
{
553
 
    typedef typename V::item24 type;
554
 
};
555
 
 
556
 
template<
557
 
      typename T0, typename T1, typename T2, typename T3, typename T4
558
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
559
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
560
 
    , typename T15, typename T16, typename T17, typename T18, typename T19
561
 
    , typename T20, typename T21, typename T22, typename T23, typename T24
562
 
    >
563
 
struct vector25
564
 
{
565
 
    typedef aux::vector_tag<25> tag;
566
 
    typedef vector25 type;
567
 
    typedef T0 item0;
568
 
    typedef T1 item1;
569
 
    typedef T2 item2;
570
 
    typedef T3 item3;
571
 
    typedef T4 item4;
572
 
    typedef T5 item5;
573
 
    typedef T6 item6;
574
 
    typedef T7 item7;
575
 
    typedef T8 item8;
576
 
    typedef T9 item9;
577
 
    typedef T10 item10;
578
 
    typedef T11 item11;
579
 
    typedef T12 item12;
580
 
    typedef T13 item13;
581
 
    typedef T14 item14;
582
 
    typedef T15 item15;
583
 
    typedef T16 item16;
584
 
    typedef T17 item17;
585
 
    typedef T18 item18;
586
 
    typedef T19 item19;
587
 
    typedef T20 item20;
588
 
    typedef T21 item21;
589
 
    typedef T22 item22;
590
 
    typedef T23 item23;
591
 
    typedef T24 item24;
592
 
    
593
 
 
594
 
    typedef void_ item25;
595
 
    typedef T24 back;
596
 
    typedef v_iter< type,0 > begin;
597
 
    typedef v_iter< type,25 > end;
598
 
};
599
 
 
600
 
template<>
601
 
struct push_front_impl< aux::vector_tag<24> >
602
 
{
603
 
    template< typename Vector, typename T > struct apply
604
 
    {
605
 
        typedef vector25<
606
 
              T
607
 
              ,
608
 
              typename Vector::item0, typename Vector::item1
609
 
            , typename Vector::item2, typename Vector::item3
610
 
            , typename Vector::item4, typename Vector::item5
611
 
            , typename Vector::item6, typename Vector::item7
612
 
            , typename Vector::item8, typename Vector::item9
613
 
            , typename Vector::item10, typename Vector::item11
614
 
            , typename Vector::item12, typename Vector::item13
615
 
            , typename Vector::item14, typename Vector::item15
616
 
            , typename Vector::item16, typename Vector::item17
617
 
            , typename Vector::item18, typename Vector::item19
618
 
            , typename Vector::item20, typename Vector::item21
619
 
            , typename Vector::item22, typename Vector::item23
620
 
            > type;
621
 
    };
622
 
};
623
 
 
624
 
template<>
625
 
struct pop_front_impl< aux::vector_tag<25> >
626
 
{
627
 
    template< typename Vector > struct apply
628
 
    {
629
 
        typedef vector24<
630
 
              typename Vector::item1, typename Vector::item2
631
 
            , typename Vector::item3, typename Vector::item4
632
 
            , typename Vector::item5, typename Vector::item6
633
 
            , typename Vector::item7, typename Vector::item8
634
 
            , typename Vector::item9, typename Vector::item10
635
 
            , typename Vector::item11, typename Vector::item12
636
 
            , typename Vector::item13, typename Vector::item14
637
 
            , typename Vector::item15, typename Vector::item16
638
 
            , typename Vector::item17, typename Vector::item18
639
 
            , typename Vector::item19, typename Vector::item20
640
 
            , typename Vector::item21, typename Vector::item22
641
 
            , typename Vector::item23, typename Vector::item24
642
 
            > type;
643
 
    };
644
 
};
645
 
 
646
 
template<>
647
 
struct push_back_impl< aux::vector_tag<24> >
648
 
{
649
 
    template< typename Vector, typename T > struct apply
650
 
    {
651
 
        typedef vector25<
652
 
              typename Vector::item0, typename Vector::item1
653
 
            , typename Vector::item2, typename Vector::item3
654
 
            , typename Vector::item4, typename Vector::item5
655
 
            , typename Vector::item6, typename Vector::item7
656
 
            , typename Vector::item8, typename Vector::item9
657
 
            , typename Vector::item10, typename Vector::item11
658
 
            , typename Vector::item12, typename Vector::item13
659
 
            , typename Vector::item14, typename Vector::item15
660
 
            , typename Vector::item16, typename Vector::item17
661
 
            , typename Vector::item18, typename Vector::item19
662
 
            , typename Vector::item20, typename Vector::item21
663
 
            , typename Vector::item22, typename Vector::item23
664
 
              ,
665
 
              T
666
 
            > type;
667
 
    };
668
 
};
669
 
 
670
 
template<>
671
 
struct pop_back_impl< aux::vector_tag<25> >
672
 
{
673
 
    template< typename Vector > struct apply
674
 
    {
675
 
        typedef vector24<
676
 
              typename Vector::item0, typename Vector::item1
677
 
            , typename Vector::item2, typename Vector::item3
678
 
            , typename Vector::item4, typename Vector::item5
679
 
            , typename Vector::item6, typename Vector::item7
680
 
            , typename Vector::item8, typename Vector::item9
681
 
            , typename Vector::item10, typename Vector::item11
682
 
            , typename Vector::item12, typename Vector::item13
683
 
            , typename Vector::item14, typename Vector::item15
684
 
            , typename Vector::item16, typename Vector::item17
685
 
            , typename Vector::item18, typename Vector::item19
686
 
            , typename Vector::item20, typename Vector::item21
687
 
            , typename Vector::item22, typename Vector::item23
688
 
            > type;
689
 
    };
690
 
};
691
 
 
692
 
template< typename V >
693
 
struct v_at< V,25 >
694
 
{
695
 
    typedef typename V::item25 type;
696
 
};
697
 
 
698
 
template<
699
 
      typename T0, typename T1, typename T2, typename T3, typename T4
700
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
701
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
702
 
    , typename T15, typename T16, typename T17, typename T18, typename T19
703
 
    , typename T20, typename T21, typename T22, typename T23, typename T24
704
 
    , typename T25
705
 
    >
706
 
struct vector26
707
 
{
708
 
    typedef aux::vector_tag<26> tag;
709
 
    typedef vector26 type;
710
 
    typedef T0 item0;
711
 
    typedef T1 item1;
712
 
    typedef T2 item2;
713
 
    typedef T3 item3;
714
 
    typedef T4 item4;
715
 
    typedef T5 item5;
716
 
    typedef T6 item6;
717
 
    typedef T7 item7;
718
 
    typedef T8 item8;
719
 
    typedef T9 item9;
720
 
    typedef T10 item10;
721
 
    typedef T11 item11;
722
 
    typedef T12 item12;
723
 
    typedef T13 item13;
724
 
    typedef T14 item14;
725
 
    typedef T15 item15;
726
 
    typedef T16 item16;
727
 
    typedef T17 item17;
728
 
    typedef T18 item18;
729
 
    typedef T19 item19;
730
 
    typedef T20 item20;
731
 
    typedef T21 item21;
732
 
    typedef T22 item22;
733
 
    typedef T23 item23;
734
 
    typedef T24 item24;
735
 
    typedef T25 item25;
736
 
    
737
 
 
738
 
    typedef void_ item26;
739
 
    typedef T25 back;
740
 
    typedef v_iter< type,0 > begin;
741
 
    typedef v_iter< type,26 > end;
742
 
};
743
 
 
744
 
template<>
745
 
struct push_front_impl< aux::vector_tag<25> >
746
 
{
747
 
    template< typename Vector, typename T > struct apply
748
 
    {
749
 
        typedef vector26<
750
 
              T
751
 
              ,
752
 
              typename Vector::item0, typename Vector::item1
753
 
            , typename Vector::item2, typename Vector::item3
754
 
            , typename Vector::item4, typename Vector::item5
755
 
            , typename Vector::item6, typename Vector::item7
756
 
            , typename Vector::item8, typename Vector::item9
757
 
            , typename Vector::item10, typename Vector::item11
758
 
            , typename Vector::item12, typename Vector::item13
759
 
            , typename Vector::item14, typename Vector::item15
760
 
            , typename Vector::item16, typename Vector::item17
761
 
            , typename Vector::item18, typename Vector::item19
762
 
            , typename Vector::item20, typename Vector::item21
763
 
            , typename Vector::item22, typename Vector::item23
764
 
            , typename Vector::item24
765
 
            > type;
766
 
    };
767
 
};
768
 
 
769
 
template<>
770
 
struct pop_front_impl< aux::vector_tag<26> >
771
 
{
772
 
    template< typename Vector > struct apply
773
 
    {
774
 
        typedef vector25<
775
 
              typename Vector::item1, typename Vector::item2
776
 
            , typename Vector::item3, typename Vector::item4
777
 
            , typename Vector::item5, typename Vector::item6
778
 
            , typename Vector::item7, typename Vector::item8
779
 
            , typename Vector::item9, typename Vector::item10
780
 
            , typename Vector::item11, typename Vector::item12
781
 
            , typename Vector::item13, typename Vector::item14
782
 
            , typename Vector::item15, typename Vector::item16
783
 
            , typename Vector::item17, typename Vector::item18
784
 
            , typename Vector::item19, typename Vector::item20
785
 
            , typename Vector::item21, typename Vector::item22
786
 
            , typename Vector::item23, typename Vector::item24
787
 
            , typename Vector::item25
788
 
            > type;
789
 
    };
790
 
};
791
 
 
792
 
template<>
793
 
struct push_back_impl< aux::vector_tag<25> >
794
 
{
795
 
    template< typename Vector, typename T > struct apply
796
 
    {
797
 
        typedef vector26<
798
 
              typename Vector::item0, typename Vector::item1
799
 
            , typename Vector::item2, typename Vector::item3
800
 
            , typename Vector::item4, typename Vector::item5
801
 
            , typename Vector::item6, typename Vector::item7
802
 
            , typename Vector::item8, typename Vector::item9
803
 
            , typename Vector::item10, typename Vector::item11
804
 
            , typename Vector::item12, typename Vector::item13
805
 
            , typename Vector::item14, typename Vector::item15
806
 
            , typename Vector::item16, typename Vector::item17
807
 
            , typename Vector::item18, typename Vector::item19
808
 
            , typename Vector::item20, typename Vector::item21
809
 
            , typename Vector::item22, typename Vector::item23
810
 
            , typename Vector::item24
811
 
              ,
812
 
              T
813
 
            > type;
814
 
    };
815
 
};
816
 
 
817
 
template<>
818
 
struct pop_back_impl< aux::vector_tag<26> >
819
 
{
820
 
    template< typename Vector > struct apply
821
 
    {
822
 
        typedef vector25<
823
 
              typename Vector::item0, typename Vector::item1
824
 
            , typename Vector::item2, typename Vector::item3
825
 
            , typename Vector::item4, typename Vector::item5
826
 
            , typename Vector::item6, typename Vector::item7
827
 
            , typename Vector::item8, typename Vector::item9
828
 
            , typename Vector::item10, typename Vector::item11
829
 
            , typename Vector::item12, typename Vector::item13
830
 
            , typename Vector::item14, typename Vector::item15
831
 
            , typename Vector::item16, typename Vector::item17
832
 
            , typename Vector::item18, typename Vector::item19
833
 
            , typename Vector::item20, typename Vector::item21
834
 
            , typename Vector::item22, typename Vector::item23
835
 
            , typename Vector::item24
836
 
            > type;
837
 
    };
838
 
};
839
 
 
840
 
template< typename V >
841
 
struct v_at< V,26 >
842
 
{
843
 
    typedef typename V::item26 type;
844
 
};
845
 
 
846
 
template<
847
 
      typename T0, typename T1, typename T2, typename T3, typename T4
848
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
849
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
850
 
    , typename T15, typename T16, typename T17, typename T18, typename T19
851
 
    , typename T20, typename T21, typename T22, typename T23, typename T24
852
 
    , typename T25, typename T26
853
 
    >
854
 
struct vector27
855
 
{
856
 
    typedef aux::vector_tag<27> tag;
857
 
    typedef vector27 type;
858
 
    typedef T0 item0;
859
 
    typedef T1 item1;
860
 
    typedef T2 item2;
861
 
    typedef T3 item3;
862
 
    typedef T4 item4;
863
 
    typedef T5 item5;
864
 
    typedef T6 item6;
865
 
    typedef T7 item7;
866
 
    typedef T8 item8;
867
 
    typedef T9 item9;
868
 
    typedef T10 item10;
869
 
    typedef T11 item11;
870
 
    typedef T12 item12;
871
 
    typedef T13 item13;
872
 
    typedef T14 item14;
873
 
    typedef T15 item15;
874
 
    typedef T16 item16;
875
 
    typedef T17 item17;
876
 
    typedef T18 item18;
877
 
    typedef T19 item19;
878
 
    typedef T20 item20;
879
 
    typedef T21 item21;
880
 
    typedef T22 item22;
881
 
    typedef T23 item23;
882
 
    typedef T24 item24;
883
 
    typedef T25 item25;
884
 
    typedef T26 item26;
885
 
    
886
 
 
887
 
    typedef void_ item27;
888
 
    typedef T26 back;
889
 
    typedef v_iter< type,0 > begin;
890
 
    typedef v_iter< type,27 > end;
891
 
};
892
 
 
893
 
template<>
894
 
struct push_front_impl< aux::vector_tag<26> >
895
 
{
896
 
    template< typename Vector, typename T > struct apply
897
 
    {
898
 
        typedef vector27<
899
 
              T
900
 
              ,
901
 
              typename Vector::item0, typename Vector::item1
902
 
            , typename Vector::item2, typename Vector::item3
903
 
            , typename Vector::item4, typename Vector::item5
904
 
            , typename Vector::item6, typename Vector::item7
905
 
            , typename Vector::item8, typename Vector::item9
906
 
            , typename Vector::item10, typename Vector::item11
907
 
            , typename Vector::item12, typename Vector::item13
908
 
            , typename Vector::item14, typename Vector::item15
909
 
            , typename Vector::item16, typename Vector::item17
910
 
            , typename Vector::item18, typename Vector::item19
911
 
            , typename Vector::item20, typename Vector::item21
912
 
            , typename Vector::item22, typename Vector::item23
913
 
            , typename Vector::item24, typename Vector::item25
914
 
            > type;
915
 
    };
916
 
};
917
 
 
918
 
template<>
919
 
struct pop_front_impl< aux::vector_tag<27> >
920
 
{
921
 
    template< typename Vector > struct apply
922
 
    {
923
 
        typedef vector26<
924
 
              typename Vector::item1, typename Vector::item2
925
 
            , typename Vector::item3, typename Vector::item4
926
 
            , typename Vector::item5, typename Vector::item6
927
 
            , typename Vector::item7, typename Vector::item8
928
 
            , typename Vector::item9, typename Vector::item10
929
 
            , typename Vector::item11, typename Vector::item12
930
 
            , typename Vector::item13, typename Vector::item14
931
 
            , typename Vector::item15, typename Vector::item16
932
 
            , typename Vector::item17, typename Vector::item18
933
 
            , typename Vector::item19, typename Vector::item20
934
 
            , typename Vector::item21, typename Vector::item22
935
 
            , typename Vector::item23, typename Vector::item24
936
 
            , typename Vector::item25, typename Vector::item26
937
 
            > type;
938
 
    };
939
 
};
940
 
 
941
 
template<>
942
 
struct push_back_impl< aux::vector_tag<26> >
943
 
{
944
 
    template< typename Vector, typename T > struct apply
945
 
    {
946
 
        typedef vector27<
947
 
              typename Vector::item0, typename Vector::item1
948
 
            , typename Vector::item2, typename Vector::item3
949
 
            , typename Vector::item4, typename Vector::item5
950
 
            , typename Vector::item6, typename Vector::item7
951
 
            , typename Vector::item8, typename Vector::item9
952
 
            , typename Vector::item10, typename Vector::item11
953
 
            , typename Vector::item12, typename Vector::item13
954
 
            , typename Vector::item14, typename Vector::item15
955
 
            , typename Vector::item16, typename Vector::item17
956
 
            , typename Vector::item18, typename Vector::item19
957
 
            , typename Vector::item20, typename Vector::item21
958
 
            , typename Vector::item22, typename Vector::item23
959
 
            , typename Vector::item24, typename Vector::item25
960
 
              ,
961
 
              T
962
 
            > type;
963
 
    };
964
 
};
965
 
 
966
 
template<>
967
 
struct pop_back_impl< aux::vector_tag<27> >
968
 
{
969
 
    template< typename Vector > struct apply
970
 
    {
971
 
        typedef vector26<
972
 
              typename Vector::item0, typename Vector::item1
973
 
            , typename Vector::item2, typename Vector::item3
974
 
            , typename Vector::item4, typename Vector::item5
975
 
            , typename Vector::item6, typename Vector::item7
976
 
            , typename Vector::item8, typename Vector::item9
977
 
            , typename Vector::item10, typename Vector::item11
978
 
            , typename Vector::item12, typename Vector::item13
979
 
            , typename Vector::item14, typename Vector::item15
980
 
            , typename Vector::item16, typename Vector::item17
981
 
            , typename Vector::item18, typename Vector::item19
982
 
            , typename Vector::item20, typename Vector::item21
983
 
            , typename Vector::item22, typename Vector::item23
984
 
            , typename Vector::item24, typename Vector::item25
985
 
            > type;
986
 
    };
987
 
};
988
 
 
989
 
template< typename V >
990
 
struct v_at< V,27 >
991
 
{
992
 
    typedef typename V::item27 type;
993
 
};
994
 
 
995
 
template<
996
 
      typename T0, typename T1, typename T2, typename T3, typename T4
997
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
998
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
999
 
    , typename T15, typename T16, typename T17, typename T18, typename T19
1000
 
    , typename T20, typename T21, typename T22, typename T23, typename T24
1001
 
    , typename T25, typename T26, typename T27
1002
 
    >
1003
 
struct vector28
1004
 
{
1005
 
    typedef aux::vector_tag<28> tag;
1006
 
    typedef vector28 type;
1007
 
    typedef T0 item0;
1008
 
    typedef T1 item1;
1009
 
    typedef T2 item2;
1010
 
    typedef T3 item3;
1011
 
    typedef T4 item4;
1012
 
    typedef T5 item5;
1013
 
    typedef T6 item6;
1014
 
    typedef T7 item7;
1015
 
    typedef T8 item8;
1016
 
    typedef T9 item9;
1017
 
    typedef T10 item10;
1018
 
    typedef T11 item11;
1019
 
    typedef T12 item12;
1020
 
    typedef T13 item13;
1021
 
    typedef T14 item14;
1022
 
    typedef T15 item15;
1023
 
    typedef T16 item16;
1024
 
    typedef T17 item17;
1025
 
    typedef T18 item18;
1026
 
    typedef T19 item19;
1027
 
    typedef T20 item20;
1028
 
    typedef T21 item21;
1029
 
    typedef T22 item22;
1030
 
    typedef T23 item23;
1031
 
    typedef T24 item24;
1032
 
    typedef T25 item25;
1033
 
    typedef T26 item26;
1034
 
    typedef T27 item27;
1035
 
    
1036
 
 
1037
 
    typedef void_ item28;
1038
 
    typedef T27 back;
1039
 
    typedef v_iter< type,0 > begin;
1040
 
    typedef v_iter< type,28 > end;
1041
 
};
1042
 
 
1043
 
template<>
1044
 
struct push_front_impl< aux::vector_tag<27> >
1045
 
{
1046
 
    template< typename Vector, typename T > struct apply
1047
 
    {
1048
 
        typedef vector28<
1049
 
              T
1050
 
              ,
1051
 
              typename Vector::item0, typename Vector::item1
1052
 
            , typename Vector::item2, typename Vector::item3
1053
 
            , typename Vector::item4, typename Vector::item5
1054
 
            , typename Vector::item6, typename Vector::item7
1055
 
            , typename Vector::item8, typename Vector::item9
1056
 
            , typename Vector::item10, typename Vector::item11
1057
 
            , typename Vector::item12, typename Vector::item13
1058
 
            , typename Vector::item14, typename Vector::item15
1059
 
            , typename Vector::item16, typename Vector::item17
1060
 
            , typename Vector::item18, typename Vector::item19
1061
 
            , typename Vector::item20, typename Vector::item21
1062
 
            , typename Vector::item22, typename Vector::item23
1063
 
            , typename Vector::item24, typename Vector::item25
1064
 
            , typename Vector::item26
1065
 
            > type;
1066
 
    };
1067
 
};
1068
 
 
1069
 
template<>
1070
 
struct pop_front_impl< aux::vector_tag<28> >
1071
 
{
1072
 
    template< typename Vector > struct apply
1073
 
    {
1074
 
        typedef vector27<
1075
 
              typename Vector::item1, typename Vector::item2
1076
 
            , typename Vector::item3, typename Vector::item4
1077
 
            , typename Vector::item5, typename Vector::item6
1078
 
            , typename Vector::item7, typename Vector::item8
1079
 
            , typename Vector::item9, typename Vector::item10
1080
 
            , typename Vector::item11, typename Vector::item12
1081
 
            , typename Vector::item13, typename Vector::item14
1082
 
            , typename Vector::item15, typename Vector::item16
1083
 
            , typename Vector::item17, typename Vector::item18
1084
 
            , typename Vector::item19, typename Vector::item20
1085
 
            , typename Vector::item21, typename Vector::item22
1086
 
            , typename Vector::item23, typename Vector::item24
1087
 
            , typename Vector::item25, typename Vector::item26
1088
 
            , typename Vector::item27
1089
 
            > type;
1090
 
    };
1091
 
};
1092
 
 
1093
 
template<>
1094
 
struct push_back_impl< aux::vector_tag<27> >
1095
 
{
1096
 
    template< typename Vector, typename T > struct apply
1097
 
    {
1098
 
        typedef vector28<
1099
 
              typename Vector::item0, typename Vector::item1
1100
 
            , typename Vector::item2, typename Vector::item3
1101
 
            , typename Vector::item4, typename Vector::item5
1102
 
            , typename Vector::item6, typename Vector::item7
1103
 
            , typename Vector::item8, typename Vector::item9
1104
 
            , typename Vector::item10, typename Vector::item11
1105
 
            , typename Vector::item12, typename Vector::item13
1106
 
            , typename Vector::item14, typename Vector::item15
1107
 
            , typename Vector::item16, typename Vector::item17
1108
 
            , typename Vector::item18, typename Vector::item19
1109
 
            , typename Vector::item20, typename Vector::item21
1110
 
            , typename Vector::item22, typename Vector::item23
1111
 
            , typename Vector::item24, typename Vector::item25
1112
 
            , typename Vector::item26
1113
 
              ,
1114
 
              T
1115
 
            > type;
1116
 
    };
1117
 
};
1118
 
 
1119
 
template<>
1120
 
struct pop_back_impl< aux::vector_tag<28> >
1121
 
{
1122
 
    template< typename Vector > struct apply
1123
 
    {
1124
 
        typedef vector27<
1125
 
              typename Vector::item0, typename Vector::item1
1126
 
            , typename Vector::item2, typename Vector::item3
1127
 
            , typename Vector::item4, typename Vector::item5
1128
 
            , typename Vector::item6, typename Vector::item7
1129
 
            , typename Vector::item8, typename Vector::item9
1130
 
            , typename Vector::item10, typename Vector::item11
1131
 
            , typename Vector::item12, typename Vector::item13
1132
 
            , typename Vector::item14, typename Vector::item15
1133
 
            , typename Vector::item16, typename Vector::item17
1134
 
            , typename Vector::item18, typename Vector::item19
1135
 
            , typename Vector::item20, typename Vector::item21
1136
 
            , typename Vector::item22, typename Vector::item23
1137
 
            , typename Vector::item24, typename Vector::item25
1138
 
            , typename Vector::item26
1139
 
            > type;
1140
 
    };
1141
 
};
1142
 
 
1143
 
template< typename V >
1144
 
struct v_at< V,28 >
1145
 
{
1146
 
    typedef typename V::item28 type;
1147
 
};
1148
 
 
1149
 
template<
1150
 
      typename T0, typename T1, typename T2, typename T3, typename T4
1151
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
1152
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
1153
 
    , typename T15, typename T16, typename T17, typename T18, typename T19
1154
 
    , typename T20, typename T21, typename T22, typename T23, typename T24
1155
 
    , typename T25, typename T26, typename T27, typename T28
1156
 
    >
1157
 
struct vector29
1158
 
{
1159
 
    typedef aux::vector_tag<29> tag;
1160
 
    typedef vector29 type;
1161
 
    typedef T0 item0;
1162
 
    typedef T1 item1;
1163
 
    typedef T2 item2;
1164
 
    typedef T3 item3;
1165
 
    typedef T4 item4;
1166
 
    typedef T5 item5;
1167
 
    typedef T6 item6;
1168
 
    typedef T7 item7;
1169
 
    typedef T8 item8;
1170
 
    typedef T9 item9;
1171
 
    typedef T10 item10;
1172
 
    typedef T11 item11;
1173
 
    typedef T12 item12;
1174
 
    typedef T13 item13;
1175
 
    typedef T14 item14;
1176
 
    typedef T15 item15;
1177
 
    typedef T16 item16;
1178
 
    typedef T17 item17;
1179
 
    typedef T18 item18;
1180
 
    typedef T19 item19;
1181
 
    typedef T20 item20;
1182
 
    typedef T21 item21;
1183
 
    typedef T22 item22;
1184
 
    typedef T23 item23;
1185
 
    typedef T24 item24;
1186
 
    typedef T25 item25;
1187
 
    typedef T26 item26;
1188
 
    typedef T27 item27;
1189
 
    typedef T28 item28;
1190
 
    
1191
 
 
1192
 
    typedef void_ item29;
1193
 
    typedef T28 back;
1194
 
    typedef v_iter< type,0 > begin;
1195
 
    typedef v_iter< type,29 > end;
1196
 
};
1197
 
 
1198
 
template<>
1199
 
struct push_front_impl< aux::vector_tag<28> >
1200
 
{
1201
 
    template< typename Vector, typename T > struct apply
1202
 
    {
1203
 
        typedef vector29<
1204
 
              T
1205
 
              ,
1206
 
              typename Vector::item0, typename Vector::item1
1207
 
            , typename Vector::item2, typename Vector::item3
1208
 
            , typename Vector::item4, typename Vector::item5
1209
 
            , typename Vector::item6, typename Vector::item7
1210
 
            , typename Vector::item8, typename Vector::item9
1211
 
            , typename Vector::item10, typename Vector::item11
1212
 
            , typename Vector::item12, typename Vector::item13
1213
 
            , typename Vector::item14, typename Vector::item15
1214
 
            , typename Vector::item16, typename Vector::item17
1215
 
            , typename Vector::item18, typename Vector::item19
1216
 
            , typename Vector::item20, typename Vector::item21
1217
 
            , typename Vector::item22, typename Vector::item23
1218
 
            , typename Vector::item24, typename Vector::item25
1219
 
            , typename Vector::item26, typename Vector::item27
1220
 
            > type;
1221
 
    };
1222
 
};
1223
 
 
1224
 
template<>
1225
 
struct pop_front_impl< aux::vector_tag<29> >
1226
 
{
1227
 
    template< typename Vector > struct apply
1228
 
    {
1229
 
        typedef vector28<
1230
 
              typename Vector::item1, typename Vector::item2
1231
 
            , typename Vector::item3, typename Vector::item4
1232
 
            , typename Vector::item5, typename Vector::item6
1233
 
            , typename Vector::item7, typename Vector::item8
1234
 
            , typename Vector::item9, typename Vector::item10
1235
 
            , typename Vector::item11, typename Vector::item12
1236
 
            , typename Vector::item13, typename Vector::item14
1237
 
            , typename Vector::item15, typename Vector::item16
1238
 
            , typename Vector::item17, typename Vector::item18
1239
 
            , typename Vector::item19, typename Vector::item20
1240
 
            , typename Vector::item21, typename Vector::item22
1241
 
            , typename Vector::item23, typename Vector::item24
1242
 
            , typename Vector::item25, typename Vector::item26
1243
 
            , typename Vector::item27, typename Vector::item28
1244
 
            > type;
1245
 
    };
1246
 
};
1247
 
 
1248
 
template<>
1249
 
struct push_back_impl< aux::vector_tag<28> >
1250
 
{
1251
 
    template< typename Vector, typename T > struct apply
1252
 
    {
1253
 
        typedef vector29<
1254
 
              typename Vector::item0, typename Vector::item1
1255
 
            , typename Vector::item2, typename Vector::item3
1256
 
            , typename Vector::item4, typename Vector::item5
1257
 
            , typename Vector::item6, typename Vector::item7
1258
 
            , typename Vector::item8, typename Vector::item9
1259
 
            , typename Vector::item10, typename Vector::item11
1260
 
            , typename Vector::item12, typename Vector::item13
1261
 
            , typename Vector::item14, typename Vector::item15
1262
 
            , typename Vector::item16, typename Vector::item17
1263
 
            , typename Vector::item18, typename Vector::item19
1264
 
            , typename Vector::item20, typename Vector::item21
1265
 
            , typename Vector::item22, typename Vector::item23
1266
 
            , typename Vector::item24, typename Vector::item25
1267
 
            , typename Vector::item26, typename Vector::item27
1268
 
              ,
1269
 
              T
1270
 
            > type;
1271
 
    };
1272
 
};
1273
 
 
1274
 
template<>
1275
 
struct pop_back_impl< aux::vector_tag<29> >
1276
 
{
1277
 
    template< typename Vector > struct apply
1278
 
    {
1279
 
        typedef vector28<
1280
 
              typename Vector::item0, typename Vector::item1
1281
 
            , typename Vector::item2, typename Vector::item3
1282
 
            , typename Vector::item4, typename Vector::item5
1283
 
            , typename Vector::item6, typename Vector::item7
1284
 
            , typename Vector::item8, typename Vector::item9
1285
 
            , typename Vector::item10, typename Vector::item11
1286
 
            , typename Vector::item12, typename Vector::item13
1287
 
            , typename Vector::item14, typename Vector::item15
1288
 
            , typename Vector::item16, typename Vector::item17
1289
 
            , typename Vector::item18, typename Vector::item19
1290
 
            , typename Vector::item20, typename Vector::item21
1291
 
            , typename Vector::item22, typename Vector::item23
1292
 
            , typename Vector::item24, typename Vector::item25
1293
 
            , typename Vector::item26, typename Vector::item27
1294
 
            > type;
1295
 
    };
1296
 
};
1297
 
 
1298
 
template< typename V >
1299
 
struct v_at< V,29 >
1300
 
{
1301
 
    typedef typename V::item29 type;
1302
 
};
1303
 
 
1304
 
template<
1305
 
      typename T0, typename T1, typename T2, typename T3, typename T4
1306
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
1307
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
1308
 
    , typename T15, typename T16, typename T17, typename T18, typename T19
1309
 
    , typename T20, typename T21, typename T22, typename T23, typename T24
1310
 
    , typename T25, typename T26, typename T27, typename T28, typename T29
1311
 
    >
1312
 
struct vector30
1313
 
{
1314
 
    typedef aux::vector_tag<30> tag;
1315
 
    typedef vector30 type;
1316
 
    typedef T0 item0;
1317
 
    typedef T1 item1;
1318
 
    typedef T2 item2;
1319
 
    typedef T3 item3;
1320
 
    typedef T4 item4;
1321
 
    typedef T5 item5;
1322
 
    typedef T6 item6;
1323
 
    typedef T7 item7;
1324
 
    typedef T8 item8;
1325
 
    typedef T9 item9;
1326
 
    typedef T10 item10;
1327
 
    typedef T11 item11;
1328
 
    typedef T12 item12;
1329
 
    typedef T13 item13;
1330
 
    typedef T14 item14;
1331
 
    typedef T15 item15;
1332
 
    typedef T16 item16;
1333
 
    typedef T17 item17;
1334
 
    typedef T18 item18;
1335
 
    typedef T19 item19;
1336
 
    typedef T20 item20;
1337
 
    typedef T21 item21;
1338
 
    typedef T22 item22;
1339
 
    typedef T23 item23;
1340
 
    typedef T24 item24;
1341
 
    typedef T25 item25;
1342
 
    typedef T26 item26;
1343
 
    typedef T27 item27;
1344
 
    typedef T28 item28;
1345
 
    typedef T29 item29;
1346
 
    
1347
 
 
1348
 
    typedef void_ item30;
1349
 
    typedef T29 back;
1350
 
    typedef v_iter< type,0 > begin;
1351
 
    typedef v_iter< type,30 > end;
1352
 
};
1353
 
 
1354
 
template<>
1355
 
struct push_front_impl< aux::vector_tag<29> >
1356
 
{
1357
 
    template< typename Vector, typename T > struct apply
1358
 
    {
1359
 
        typedef vector30<
1360
 
              T
1361
 
              ,
1362
 
              typename Vector::item0, typename Vector::item1
1363
 
            , typename Vector::item2, typename Vector::item3
1364
 
            , typename Vector::item4, typename Vector::item5
1365
 
            , typename Vector::item6, typename Vector::item7
1366
 
            , typename Vector::item8, typename Vector::item9
1367
 
            , typename Vector::item10, typename Vector::item11
1368
 
            , typename Vector::item12, typename Vector::item13
1369
 
            , typename Vector::item14, typename Vector::item15
1370
 
            , typename Vector::item16, typename Vector::item17
1371
 
            , typename Vector::item18, typename Vector::item19
1372
 
            , typename Vector::item20, typename Vector::item21
1373
 
            , typename Vector::item22, typename Vector::item23
1374
 
            , typename Vector::item24, typename Vector::item25
1375
 
            , typename Vector::item26, typename Vector::item27
1376
 
            , typename Vector::item28
1377
 
            > type;
1378
 
    };
1379
 
};
1380
 
 
1381
 
template<>
1382
 
struct pop_front_impl< aux::vector_tag<30> >
1383
 
{
1384
 
    template< typename Vector > struct apply
1385
 
    {
1386
 
        typedef vector29<
1387
 
              typename Vector::item1, typename Vector::item2
1388
 
            , typename Vector::item3, typename Vector::item4
1389
 
            , typename Vector::item5, typename Vector::item6
1390
 
            , typename Vector::item7, typename Vector::item8
1391
 
            , typename Vector::item9, typename Vector::item10
1392
 
            , typename Vector::item11, typename Vector::item12
1393
 
            , typename Vector::item13, typename Vector::item14
1394
 
            , typename Vector::item15, typename Vector::item16
1395
 
            , typename Vector::item17, typename Vector::item18
1396
 
            , typename Vector::item19, typename Vector::item20
1397
 
            , typename Vector::item21, typename Vector::item22
1398
 
            , typename Vector::item23, typename Vector::item24
1399
 
            , typename Vector::item25, typename Vector::item26
1400
 
            , typename Vector::item27, typename Vector::item28
1401
 
            , typename Vector::item29
1402
 
            > type;
1403
 
    };
1404
 
};
1405
 
 
1406
 
template<>
1407
 
struct push_back_impl< aux::vector_tag<29> >
1408
 
{
1409
 
    template< typename Vector, typename T > struct apply
1410
 
    {
1411
 
        typedef vector30<
1412
 
              typename Vector::item0, typename Vector::item1
1413
 
            , typename Vector::item2, typename Vector::item3
1414
 
            , typename Vector::item4, typename Vector::item5
1415
 
            , typename Vector::item6, typename Vector::item7
1416
 
            , typename Vector::item8, typename Vector::item9
1417
 
            , typename Vector::item10, typename Vector::item11
1418
 
            , typename Vector::item12, typename Vector::item13
1419
 
            , typename Vector::item14, typename Vector::item15
1420
 
            , typename Vector::item16, typename Vector::item17
1421
 
            , typename Vector::item18, typename Vector::item19
1422
 
            , typename Vector::item20, typename Vector::item21
1423
 
            , typename Vector::item22, typename Vector::item23
1424
 
            , typename Vector::item24, typename Vector::item25
1425
 
            , typename Vector::item26, typename Vector::item27
1426
 
            , typename Vector::item28
1427
 
              ,
1428
 
              T
1429
 
            > type;
1430
 
    };
1431
 
};
1432
 
 
1433
 
template<>
1434
 
struct pop_back_impl< aux::vector_tag<30> >
1435
 
{
1436
 
    template< typename Vector > struct apply
1437
 
    {
1438
 
        typedef vector29<
1439
 
              typename Vector::item0, typename Vector::item1
1440
 
            , typename Vector::item2, typename Vector::item3
1441
 
            , typename Vector::item4, typename Vector::item5
1442
 
            , typename Vector::item6, typename Vector::item7
1443
 
            , typename Vector::item8, typename Vector::item9
1444
 
            , typename Vector::item10, typename Vector::item11
1445
 
            , typename Vector::item12, typename Vector::item13
1446
 
            , typename Vector::item14, typename Vector::item15
1447
 
            , typename Vector::item16, typename Vector::item17
1448
 
            , typename Vector::item18, typename Vector::item19
1449
 
            , typename Vector::item20, typename Vector::item21
1450
 
            , typename Vector::item22, typename Vector::item23
1451
 
            , typename Vector::item24, typename Vector::item25
1452
 
            , typename Vector::item26, typename Vector::item27
1453
 
            , typename Vector::item28
1454
 
            > type;
1455
 
    };
1456
 
};
1457
 
 
1458
 
template< typename V >
1459
 
struct v_at< V,30 >
1460
 
{
1461
 
    typedef typename V::item30 type;
1462
 
};
1463
 
 
1464
 
}}