]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mpl/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / mpl / include / boost / mpl / vector / aux_ / preprocessed / plain / vector50.hpp
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/vector50.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, typename T21, typename T22, typename T23, typename T24
20 , typename T25, typename T26, typename T27, typename T28, typename T29
21 , typename T30, typename T31, typename T32, typename T33, typename T34
22 , typename T35, typename T36, typename T37, typename T38, typename T39
23 , typename T40
24 >
25 struct vector41
26 {
27 typedef aux::vector_tag<41> tag;
28 typedef vector41 type;
29 typedef T0 item0;
30 typedef T1 item1;
31 typedef T2 item2;
32 typedef T3 item3;
33 typedef T4 item4;
34 typedef T5 item5;
35 typedef T6 item6;
36 typedef T7 item7;
37 typedef T8 item8;
38 typedef T9 item9;
39 typedef T10 item10;
40 typedef T11 item11;
41 typedef T12 item12;
42 typedef T13 item13;
43 typedef T14 item14;
44 typedef T15 item15;
45 typedef T16 item16;
46 typedef T17 item17;
47 typedef T18 item18;
48 typedef T19 item19;
49 typedef T20 item20;
50 typedef T21 item21;
51 typedef T22 item22;
52 typedef T23 item23;
53 typedef T24 item24;
54 typedef T25 item25;
55 typedef T26 item26;
56 typedef T27 item27;
57 typedef T28 item28;
58 typedef T29 item29;
59 typedef T30 item30;
60 typedef T31 item31;
61 typedef T32 item32;
62 typedef T33 item33;
63 typedef T34 item34;
64 typedef T35 item35;
65 typedef T36 item36;
66 typedef T37 item37;
67 typedef T38 item38;
68 typedef T39 item39;
69 typedef T40 item40;
70
71
72 typedef void_ item41;
73 typedef T40 back;
74 typedef v_iter< type,0 > begin;
75 typedef v_iter< type,41 > end;
76 };
77
78 template<>
79 struct push_front_impl< aux::vector_tag<40> >
80 {
81 template< typename Vector, typename T > struct apply
82 {
83 typedef vector41<
84 T
85 ,
86 typename Vector::item0, typename Vector::item1
87 , typename Vector::item2, typename Vector::item3
88 , typename Vector::item4, typename Vector::item5
89 , typename Vector::item6, typename Vector::item7
90 , typename Vector::item8, typename Vector::item9
91 , typename Vector::item10, typename Vector::item11
92 , typename Vector::item12, typename Vector::item13
93 , typename Vector::item14, typename Vector::item15
94 , typename Vector::item16, typename Vector::item17
95 , typename Vector::item18, typename Vector::item19
96 , typename Vector::item20, typename Vector::item21
97 , typename Vector::item22, typename Vector::item23
98 , typename Vector::item24, typename Vector::item25
99 , typename Vector::item26, typename Vector::item27
100 , typename Vector::item28, typename Vector::item29
101 , typename Vector::item30, typename Vector::item31
102 , typename Vector::item32, typename Vector::item33
103 , typename Vector::item34, typename Vector::item35
104 , typename Vector::item36, typename Vector::item37
105 , typename Vector::item38, typename Vector::item39
106 > type;
107 };
108 };
109
110 template<>
111 struct pop_front_impl< aux::vector_tag<41> >
112 {
113 template< typename Vector > struct apply
114 {
115 typedef vector40<
116 typename Vector::item1, typename Vector::item2
117 , typename Vector::item3, typename Vector::item4
118 , typename Vector::item5, typename Vector::item6
119 , typename Vector::item7, typename Vector::item8
120 , typename Vector::item9, typename Vector::item10
121 , typename Vector::item11, typename Vector::item12
122 , typename Vector::item13, typename Vector::item14
123 , typename Vector::item15, typename Vector::item16
124 , typename Vector::item17, typename Vector::item18
125 , typename Vector::item19, typename Vector::item20
126 , typename Vector::item21, typename Vector::item22
127 , typename Vector::item23, typename Vector::item24
128 , typename Vector::item25, typename Vector::item26
129 , typename Vector::item27, typename Vector::item28
130 , typename Vector::item29, typename Vector::item30
131 , typename Vector::item31, typename Vector::item32
132 , typename Vector::item33, typename Vector::item34
133 , typename Vector::item35, typename Vector::item36
134 , typename Vector::item37, typename Vector::item38
135 , typename Vector::item39, typename Vector::item40
136 > type;
137 };
138 };
139
140 template<>
141 struct push_back_impl< aux::vector_tag<40> >
142 {
143 template< typename Vector, typename T > struct apply
144 {
145 typedef vector41<
146 typename Vector::item0, typename Vector::item1
147 , typename Vector::item2, typename Vector::item3
148 , typename Vector::item4, typename Vector::item5
149 , typename Vector::item6, typename Vector::item7
150 , typename Vector::item8, typename Vector::item9
151 , typename Vector::item10, typename Vector::item11
152 , typename Vector::item12, typename Vector::item13
153 , typename Vector::item14, typename Vector::item15
154 , typename Vector::item16, typename Vector::item17
155 , typename Vector::item18, typename Vector::item19
156 , typename Vector::item20, typename Vector::item21
157 , typename Vector::item22, typename Vector::item23
158 , typename Vector::item24, typename Vector::item25
159 , typename Vector::item26, typename Vector::item27
160 , typename Vector::item28, typename Vector::item29
161 , typename Vector::item30, typename Vector::item31
162 , typename Vector::item32, typename Vector::item33
163 , typename Vector::item34, typename Vector::item35
164 , typename Vector::item36, typename Vector::item37
165 , typename Vector::item38, typename Vector::item39
166 ,
167 T
168 > type;
169 };
170 };
171
172 template<>
173 struct pop_back_impl< aux::vector_tag<41> >
174 {
175 template< typename Vector > struct apply
176 {
177 typedef vector40<
178 typename Vector::item0, typename Vector::item1
179 , typename Vector::item2, typename Vector::item3
180 , typename Vector::item4, typename Vector::item5
181 , typename Vector::item6, typename Vector::item7
182 , typename Vector::item8, typename Vector::item9
183 , typename Vector::item10, typename Vector::item11
184 , typename Vector::item12, typename Vector::item13
185 , typename Vector::item14, typename Vector::item15
186 , typename Vector::item16, typename Vector::item17
187 , typename Vector::item18, typename Vector::item19
188 , typename Vector::item20, typename Vector::item21
189 , typename Vector::item22, typename Vector::item23
190 , typename Vector::item24, typename Vector::item25
191 , typename Vector::item26, typename Vector::item27
192 , typename Vector::item28, typename Vector::item29
193 , typename Vector::item30, typename Vector::item31
194 , typename Vector::item32, typename Vector::item33
195 , typename Vector::item34, typename Vector::item35
196 , typename Vector::item36, typename Vector::item37
197 , typename Vector::item38, typename Vector::item39
198 > type;
199 };
200 };
201
202 template< typename V >
203 struct v_at< V,41 >
204 {
205 typedef typename V::item41 type;
206 };
207
208 template<
209 typename T0, typename T1, typename T2, typename T3, typename T4
210 , typename T5, typename T6, typename T7, typename T8, typename T9
211 , typename T10, typename T11, typename T12, typename T13, typename T14
212 , typename T15, typename T16, typename T17, typename T18, typename T19
213 , typename T20, typename T21, typename T22, typename T23, typename T24
214 , typename T25, typename T26, typename T27, typename T28, typename T29
215 , typename T30, typename T31, typename T32, typename T33, typename T34
216 , typename T35, typename T36, typename T37, typename T38, typename T39
217 , typename T40, typename T41
218 >
219 struct vector42
220 {
221 typedef aux::vector_tag<42> tag;
222 typedef vector42 type;
223 typedef T0 item0;
224 typedef T1 item1;
225 typedef T2 item2;
226 typedef T3 item3;
227 typedef T4 item4;
228 typedef T5 item5;
229 typedef T6 item6;
230 typedef T7 item7;
231 typedef T8 item8;
232 typedef T9 item9;
233 typedef T10 item10;
234 typedef T11 item11;
235 typedef T12 item12;
236 typedef T13 item13;
237 typedef T14 item14;
238 typedef T15 item15;
239 typedef T16 item16;
240 typedef T17 item17;
241 typedef T18 item18;
242 typedef T19 item19;
243 typedef T20 item20;
244 typedef T21 item21;
245 typedef T22 item22;
246 typedef T23 item23;
247 typedef T24 item24;
248 typedef T25 item25;
249 typedef T26 item26;
250 typedef T27 item27;
251 typedef T28 item28;
252 typedef T29 item29;
253 typedef T30 item30;
254 typedef T31 item31;
255 typedef T32 item32;
256 typedef T33 item33;
257 typedef T34 item34;
258 typedef T35 item35;
259 typedef T36 item36;
260 typedef T37 item37;
261 typedef T38 item38;
262 typedef T39 item39;
263 typedef T40 item40;
264 typedef T41 item41;
265
266
267 typedef void_ item42;
268 typedef T41 back;
269 typedef v_iter< type,0 > begin;
270 typedef v_iter< type,42 > end;
271 };
272
273 template<>
274 struct push_front_impl< aux::vector_tag<41> >
275 {
276 template< typename Vector, typename T > struct apply
277 {
278 typedef vector42<
279 T
280 ,
281 typename Vector::item0, typename Vector::item1
282 , typename Vector::item2, typename Vector::item3
283 , typename Vector::item4, typename Vector::item5
284 , typename Vector::item6, typename Vector::item7
285 , typename Vector::item8, typename Vector::item9
286 , typename Vector::item10, typename Vector::item11
287 , typename Vector::item12, typename Vector::item13
288 , typename Vector::item14, typename Vector::item15
289 , typename Vector::item16, typename Vector::item17
290 , typename Vector::item18, typename Vector::item19
291 , typename Vector::item20, typename Vector::item21
292 , typename Vector::item22, typename Vector::item23
293 , typename Vector::item24, typename Vector::item25
294 , typename Vector::item26, typename Vector::item27
295 , typename Vector::item28, typename Vector::item29
296 , typename Vector::item30, typename Vector::item31
297 , typename Vector::item32, typename Vector::item33
298 , typename Vector::item34, typename Vector::item35
299 , typename Vector::item36, typename Vector::item37
300 , typename Vector::item38, typename Vector::item39
301 , typename Vector::item40
302 > type;
303 };
304 };
305
306 template<>
307 struct pop_front_impl< aux::vector_tag<42> >
308 {
309 template< typename Vector > struct apply
310 {
311 typedef vector41<
312 typename Vector::item1, typename Vector::item2
313 , typename Vector::item3, typename Vector::item4
314 , typename Vector::item5, typename Vector::item6
315 , typename Vector::item7, typename Vector::item8
316 , typename Vector::item9, typename Vector::item10
317 , typename Vector::item11, typename Vector::item12
318 , typename Vector::item13, typename Vector::item14
319 , typename Vector::item15, typename Vector::item16
320 , typename Vector::item17, typename Vector::item18
321 , typename Vector::item19, typename Vector::item20
322 , typename Vector::item21, typename Vector::item22
323 , typename Vector::item23, typename Vector::item24
324 , typename Vector::item25, typename Vector::item26
325 , typename Vector::item27, typename Vector::item28
326 , typename Vector::item29, typename Vector::item30
327 , typename Vector::item31, typename Vector::item32
328 , typename Vector::item33, typename Vector::item34
329 , typename Vector::item35, typename Vector::item36
330 , typename Vector::item37, typename Vector::item38
331 , typename Vector::item39, typename Vector::item40
332 , typename Vector::item41
333 > type;
334 };
335 };
336
337 template<>
338 struct push_back_impl< aux::vector_tag<41> >
339 {
340 template< typename Vector, typename T > struct apply
341 {
342 typedef vector42<
343 typename Vector::item0, typename Vector::item1
344 , typename Vector::item2, typename Vector::item3
345 , typename Vector::item4, typename Vector::item5
346 , typename Vector::item6, typename Vector::item7
347 , typename Vector::item8, typename Vector::item9
348 , typename Vector::item10, typename Vector::item11
349 , typename Vector::item12, typename Vector::item13
350 , typename Vector::item14, typename Vector::item15
351 , typename Vector::item16, typename Vector::item17
352 , typename Vector::item18, typename Vector::item19
353 , typename Vector::item20, typename Vector::item21
354 , typename Vector::item22, typename Vector::item23
355 , typename Vector::item24, typename Vector::item25
356 , typename Vector::item26, typename Vector::item27
357 , typename Vector::item28, typename Vector::item29
358 , typename Vector::item30, typename Vector::item31
359 , typename Vector::item32, typename Vector::item33
360 , typename Vector::item34, typename Vector::item35
361 , typename Vector::item36, typename Vector::item37
362 , typename Vector::item38, typename Vector::item39
363 , typename Vector::item40
364 ,
365 T
366 > type;
367 };
368 };
369
370 template<>
371 struct pop_back_impl< aux::vector_tag<42> >
372 {
373 template< typename Vector > struct apply
374 {
375 typedef vector41<
376 typename Vector::item0, typename Vector::item1
377 , typename Vector::item2, typename Vector::item3
378 , typename Vector::item4, typename Vector::item5
379 , typename Vector::item6, typename Vector::item7
380 , typename Vector::item8, typename Vector::item9
381 , typename Vector::item10, typename Vector::item11
382 , typename Vector::item12, typename Vector::item13
383 , typename Vector::item14, typename Vector::item15
384 , typename Vector::item16, typename Vector::item17
385 , typename Vector::item18, typename Vector::item19
386 , typename Vector::item20, typename Vector::item21
387 , typename Vector::item22, typename Vector::item23
388 , typename Vector::item24, typename Vector::item25
389 , typename Vector::item26, typename Vector::item27
390 , typename Vector::item28, typename Vector::item29
391 , typename Vector::item30, typename Vector::item31
392 , typename Vector::item32, typename Vector::item33
393 , typename Vector::item34, typename Vector::item35
394 , typename Vector::item36, typename Vector::item37
395 , typename Vector::item38, typename Vector::item39
396 , typename Vector::item40
397 > type;
398 };
399 };
400
401 template< typename V >
402 struct v_at< V,42 >
403 {
404 typedef typename V::item42 type;
405 };
406
407 template<
408 typename T0, typename T1, typename T2, typename T3, typename T4
409 , typename T5, typename T6, typename T7, typename T8, typename T9
410 , typename T10, typename T11, typename T12, typename T13, typename T14
411 , typename T15, typename T16, typename T17, typename T18, typename T19
412 , typename T20, typename T21, typename T22, typename T23, typename T24
413 , typename T25, typename T26, typename T27, typename T28, typename T29
414 , typename T30, typename T31, typename T32, typename T33, typename T34
415 , typename T35, typename T36, typename T37, typename T38, typename T39
416 , typename T40, typename T41, typename T42
417 >
418 struct vector43
419 {
420 typedef aux::vector_tag<43> tag;
421 typedef vector43 type;
422 typedef T0 item0;
423 typedef T1 item1;
424 typedef T2 item2;
425 typedef T3 item3;
426 typedef T4 item4;
427 typedef T5 item5;
428 typedef T6 item6;
429 typedef T7 item7;
430 typedef T8 item8;
431 typedef T9 item9;
432 typedef T10 item10;
433 typedef T11 item11;
434 typedef T12 item12;
435 typedef T13 item13;
436 typedef T14 item14;
437 typedef T15 item15;
438 typedef T16 item16;
439 typedef T17 item17;
440 typedef T18 item18;
441 typedef T19 item19;
442 typedef T20 item20;
443 typedef T21 item21;
444 typedef T22 item22;
445 typedef T23 item23;
446 typedef T24 item24;
447 typedef T25 item25;
448 typedef T26 item26;
449 typedef T27 item27;
450 typedef T28 item28;
451 typedef T29 item29;
452 typedef T30 item30;
453 typedef T31 item31;
454 typedef T32 item32;
455 typedef T33 item33;
456 typedef T34 item34;
457 typedef T35 item35;
458 typedef T36 item36;
459 typedef T37 item37;
460 typedef T38 item38;
461 typedef T39 item39;
462 typedef T40 item40;
463 typedef T41 item41;
464 typedef T42 item42;
465
466
467 typedef void_ item43;
468 typedef T42 back;
469 typedef v_iter< type,0 > begin;
470 typedef v_iter< type,43 > end;
471 };
472
473 template<>
474 struct push_front_impl< aux::vector_tag<42> >
475 {
476 template< typename Vector, typename T > struct apply
477 {
478 typedef vector43<
479 T
480 ,
481 typename Vector::item0, typename Vector::item1
482 , typename Vector::item2, typename Vector::item3
483 , typename Vector::item4, typename Vector::item5
484 , typename Vector::item6, typename Vector::item7
485 , typename Vector::item8, typename Vector::item9
486 , typename Vector::item10, typename Vector::item11
487 , typename Vector::item12, typename Vector::item13
488 , typename Vector::item14, typename Vector::item15
489 , typename Vector::item16, typename Vector::item17
490 , typename Vector::item18, typename Vector::item19
491 , typename Vector::item20, typename Vector::item21
492 , typename Vector::item22, typename Vector::item23
493 , typename Vector::item24, typename Vector::item25
494 , typename Vector::item26, typename Vector::item27
495 , typename Vector::item28, typename Vector::item29
496 , typename Vector::item30, typename Vector::item31
497 , typename Vector::item32, typename Vector::item33
498 , typename Vector::item34, typename Vector::item35
499 , typename Vector::item36, typename Vector::item37
500 , typename Vector::item38, typename Vector::item39
501 , typename Vector::item40, typename Vector::item41
502 > type;
503 };
504 };
505
506 template<>
507 struct pop_front_impl< aux::vector_tag<43> >
508 {
509 template< typename Vector > struct apply
510 {
511 typedef vector42<
512 typename Vector::item1, typename Vector::item2
513 , typename Vector::item3, typename Vector::item4
514 , typename Vector::item5, typename Vector::item6
515 , typename Vector::item7, typename Vector::item8
516 , typename Vector::item9, typename Vector::item10
517 , typename Vector::item11, typename Vector::item12
518 , typename Vector::item13, typename Vector::item14
519 , typename Vector::item15, typename Vector::item16
520 , typename Vector::item17, typename Vector::item18
521 , typename Vector::item19, typename Vector::item20
522 , typename Vector::item21, typename Vector::item22
523 , typename Vector::item23, typename Vector::item24
524 , typename Vector::item25, typename Vector::item26
525 , typename Vector::item27, typename Vector::item28
526 , typename Vector::item29, typename Vector::item30
527 , typename Vector::item31, typename Vector::item32
528 , typename Vector::item33, typename Vector::item34
529 , typename Vector::item35, typename Vector::item36
530 , typename Vector::item37, typename Vector::item38
531 , typename Vector::item39, typename Vector::item40
532 , typename Vector::item41, typename Vector::item42
533 > type;
534 };
535 };
536
537 template<>
538 struct push_back_impl< aux::vector_tag<42> >
539 {
540 template< typename Vector, typename T > struct apply
541 {
542 typedef vector43<
543 typename Vector::item0, typename Vector::item1
544 , typename Vector::item2, typename Vector::item3
545 , typename Vector::item4, typename Vector::item5
546 , typename Vector::item6, typename Vector::item7
547 , typename Vector::item8, typename Vector::item9
548 , typename Vector::item10, typename Vector::item11
549 , typename Vector::item12, typename Vector::item13
550 , typename Vector::item14, typename Vector::item15
551 , typename Vector::item16, typename Vector::item17
552 , typename Vector::item18, typename Vector::item19
553 , typename Vector::item20, typename Vector::item21
554 , typename Vector::item22, typename Vector::item23
555 , typename Vector::item24, typename Vector::item25
556 , typename Vector::item26, typename Vector::item27
557 , typename Vector::item28, typename Vector::item29
558 , typename Vector::item30, typename Vector::item31
559 , typename Vector::item32, typename Vector::item33
560 , typename Vector::item34, typename Vector::item35
561 , typename Vector::item36, typename Vector::item37
562 , typename Vector::item38, typename Vector::item39
563 , typename Vector::item40, typename Vector::item41
564 ,
565 T
566 > type;
567 };
568 };
569
570 template<>
571 struct pop_back_impl< aux::vector_tag<43> >
572 {
573 template< typename Vector > struct apply
574 {
575 typedef vector42<
576 typename Vector::item0, typename Vector::item1
577 , typename Vector::item2, typename Vector::item3
578 , typename Vector::item4, typename Vector::item5
579 , typename Vector::item6, typename Vector::item7
580 , typename Vector::item8, typename Vector::item9
581 , typename Vector::item10, typename Vector::item11
582 , typename Vector::item12, typename Vector::item13
583 , typename Vector::item14, typename Vector::item15
584 , typename Vector::item16, typename Vector::item17
585 , typename Vector::item18, typename Vector::item19
586 , typename Vector::item20, typename Vector::item21
587 , typename Vector::item22, typename Vector::item23
588 , typename Vector::item24, typename Vector::item25
589 , typename Vector::item26, typename Vector::item27
590 , typename Vector::item28, typename Vector::item29
591 , typename Vector::item30, typename Vector::item31
592 , typename Vector::item32, typename Vector::item33
593 , typename Vector::item34, typename Vector::item35
594 , typename Vector::item36, typename Vector::item37
595 , typename Vector::item38, typename Vector::item39
596 , typename Vector::item40, typename Vector::item41
597 > type;
598 };
599 };
600
601 template< typename V >
602 struct v_at< V,43 >
603 {
604 typedef typename V::item43 type;
605 };
606
607 template<
608 typename T0, typename T1, typename T2, typename T3, typename T4
609 , typename T5, typename T6, typename T7, typename T8, typename T9
610 , typename T10, typename T11, typename T12, typename T13, typename T14
611 , typename T15, typename T16, typename T17, typename T18, typename T19
612 , typename T20, typename T21, typename T22, typename T23, typename T24
613 , typename T25, typename T26, typename T27, typename T28, typename T29
614 , typename T30, typename T31, typename T32, typename T33, typename T34
615 , typename T35, typename T36, typename T37, typename T38, typename T39
616 , typename T40, typename T41, typename T42, typename T43
617 >
618 struct vector44
619 {
620 typedef aux::vector_tag<44> tag;
621 typedef vector44 type;
622 typedef T0 item0;
623 typedef T1 item1;
624 typedef T2 item2;
625 typedef T3 item3;
626 typedef T4 item4;
627 typedef T5 item5;
628 typedef T6 item6;
629 typedef T7 item7;
630 typedef T8 item8;
631 typedef T9 item9;
632 typedef T10 item10;
633 typedef T11 item11;
634 typedef T12 item12;
635 typedef T13 item13;
636 typedef T14 item14;
637 typedef T15 item15;
638 typedef T16 item16;
639 typedef T17 item17;
640 typedef T18 item18;
641 typedef T19 item19;
642 typedef T20 item20;
643 typedef T21 item21;
644 typedef T22 item22;
645 typedef T23 item23;
646 typedef T24 item24;
647 typedef T25 item25;
648 typedef T26 item26;
649 typedef T27 item27;
650 typedef T28 item28;
651 typedef T29 item29;
652 typedef T30 item30;
653 typedef T31 item31;
654 typedef T32 item32;
655 typedef T33 item33;
656 typedef T34 item34;
657 typedef T35 item35;
658 typedef T36 item36;
659 typedef T37 item37;
660 typedef T38 item38;
661 typedef T39 item39;
662 typedef T40 item40;
663 typedef T41 item41;
664 typedef T42 item42;
665 typedef T43 item43;
666
667
668 typedef void_ item44;
669 typedef T43 back;
670 typedef v_iter< type,0 > begin;
671 typedef v_iter< type,44 > end;
672 };
673
674 template<>
675 struct push_front_impl< aux::vector_tag<43> >
676 {
677 template< typename Vector, typename T > struct apply
678 {
679 typedef vector44<
680 T
681 ,
682 typename Vector::item0, typename Vector::item1
683 , typename Vector::item2, typename Vector::item3
684 , typename Vector::item4, typename Vector::item5
685 , typename Vector::item6, typename Vector::item7
686 , typename Vector::item8, typename Vector::item9
687 , typename Vector::item10, typename Vector::item11
688 , typename Vector::item12, typename Vector::item13
689 , typename Vector::item14, typename Vector::item15
690 , typename Vector::item16, typename Vector::item17
691 , typename Vector::item18, typename Vector::item19
692 , typename Vector::item20, typename Vector::item21
693 , typename Vector::item22, typename Vector::item23
694 , typename Vector::item24, typename Vector::item25
695 , typename Vector::item26, typename Vector::item27
696 , typename Vector::item28, typename Vector::item29
697 , typename Vector::item30, typename Vector::item31
698 , typename Vector::item32, typename Vector::item33
699 , typename Vector::item34, typename Vector::item35
700 , typename Vector::item36, typename Vector::item37
701 , typename Vector::item38, typename Vector::item39
702 , typename Vector::item40, typename Vector::item41
703 , typename Vector::item42
704 > type;
705 };
706 };
707
708 template<>
709 struct pop_front_impl< aux::vector_tag<44> >
710 {
711 template< typename Vector > struct apply
712 {
713 typedef vector43<
714 typename Vector::item1, typename Vector::item2
715 , typename Vector::item3, typename Vector::item4
716 , typename Vector::item5, typename Vector::item6
717 , typename Vector::item7, typename Vector::item8
718 , typename Vector::item9, typename Vector::item10
719 , typename Vector::item11, typename Vector::item12
720 , typename Vector::item13, typename Vector::item14
721 , typename Vector::item15, typename Vector::item16
722 , typename Vector::item17, typename Vector::item18
723 , typename Vector::item19, typename Vector::item20
724 , typename Vector::item21, typename Vector::item22
725 , typename Vector::item23, typename Vector::item24
726 , typename Vector::item25, typename Vector::item26
727 , typename Vector::item27, typename Vector::item28
728 , typename Vector::item29, typename Vector::item30
729 , typename Vector::item31, typename Vector::item32
730 , typename Vector::item33, typename Vector::item34
731 , typename Vector::item35, typename Vector::item36
732 , typename Vector::item37, typename Vector::item38
733 , typename Vector::item39, typename Vector::item40
734 , typename Vector::item41, typename Vector::item42
735 , typename Vector::item43
736 > type;
737 };
738 };
739
740 template<>
741 struct push_back_impl< aux::vector_tag<43> >
742 {
743 template< typename Vector, typename T > struct apply
744 {
745 typedef vector44<
746 typename Vector::item0, typename Vector::item1
747 , typename Vector::item2, typename Vector::item3
748 , typename Vector::item4, typename Vector::item5
749 , typename Vector::item6, typename Vector::item7
750 , typename Vector::item8, typename Vector::item9
751 , typename Vector::item10, typename Vector::item11
752 , typename Vector::item12, typename Vector::item13
753 , typename Vector::item14, typename Vector::item15
754 , typename Vector::item16, typename Vector::item17
755 , typename Vector::item18, typename Vector::item19
756 , typename Vector::item20, typename Vector::item21
757 , typename Vector::item22, typename Vector::item23
758 , typename Vector::item24, typename Vector::item25
759 , typename Vector::item26, typename Vector::item27
760 , typename Vector::item28, typename Vector::item29
761 , typename Vector::item30, typename Vector::item31
762 , typename Vector::item32, typename Vector::item33
763 , typename Vector::item34, typename Vector::item35
764 , typename Vector::item36, typename Vector::item37
765 , typename Vector::item38, typename Vector::item39
766 , typename Vector::item40, typename Vector::item41
767 , typename Vector::item42
768 ,
769 T
770 > type;
771 };
772 };
773
774 template<>
775 struct pop_back_impl< aux::vector_tag<44> >
776 {
777 template< typename Vector > struct apply
778 {
779 typedef vector43<
780 typename Vector::item0, typename Vector::item1
781 , typename Vector::item2, typename Vector::item3
782 , typename Vector::item4, typename Vector::item5
783 , typename Vector::item6, typename Vector::item7
784 , typename Vector::item8, typename Vector::item9
785 , typename Vector::item10, typename Vector::item11
786 , typename Vector::item12, typename Vector::item13
787 , typename Vector::item14, typename Vector::item15
788 , typename Vector::item16, typename Vector::item17
789 , typename Vector::item18, typename Vector::item19
790 , typename Vector::item20, typename Vector::item21
791 , typename Vector::item22, typename Vector::item23
792 , typename Vector::item24, typename Vector::item25
793 , typename Vector::item26, typename Vector::item27
794 , typename Vector::item28, typename Vector::item29
795 , typename Vector::item30, typename Vector::item31
796 , typename Vector::item32, typename Vector::item33
797 , typename Vector::item34, typename Vector::item35
798 , typename Vector::item36, typename Vector::item37
799 , typename Vector::item38, typename Vector::item39
800 , typename Vector::item40, typename Vector::item41
801 , typename Vector::item42
802 > type;
803 };
804 };
805
806 template< typename V >
807 struct v_at< V,44 >
808 {
809 typedef typename V::item44 type;
810 };
811
812 template<
813 typename T0, typename T1, typename T2, typename T3, typename T4
814 , typename T5, typename T6, typename T7, typename T8, typename T9
815 , typename T10, typename T11, typename T12, typename T13, typename T14
816 , typename T15, typename T16, typename T17, typename T18, typename T19
817 , typename T20, typename T21, typename T22, typename T23, typename T24
818 , typename T25, typename T26, typename T27, typename T28, typename T29
819 , typename T30, typename T31, typename T32, typename T33, typename T34
820 , typename T35, typename T36, typename T37, typename T38, typename T39
821 , typename T40, typename T41, typename T42, typename T43, typename T44
822 >
823 struct vector45
824 {
825 typedef aux::vector_tag<45> tag;
826 typedef vector45 type;
827 typedef T0 item0;
828 typedef T1 item1;
829 typedef T2 item2;
830 typedef T3 item3;
831 typedef T4 item4;
832 typedef T5 item5;
833 typedef T6 item6;
834 typedef T7 item7;
835 typedef T8 item8;
836 typedef T9 item9;
837 typedef T10 item10;
838 typedef T11 item11;
839 typedef T12 item12;
840 typedef T13 item13;
841 typedef T14 item14;
842 typedef T15 item15;
843 typedef T16 item16;
844 typedef T17 item17;
845 typedef T18 item18;
846 typedef T19 item19;
847 typedef T20 item20;
848 typedef T21 item21;
849 typedef T22 item22;
850 typedef T23 item23;
851 typedef T24 item24;
852 typedef T25 item25;
853 typedef T26 item26;
854 typedef T27 item27;
855 typedef T28 item28;
856 typedef T29 item29;
857 typedef T30 item30;
858 typedef T31 item31;
859 typedef T32 item32;
860 typedef T33 item33;
861 typedef T34 item34;
862 typedef T35 item35;
863 typedef T36 item36;
864 typedef T37 item37;
865 typedef T38 item38;
866 typedef T39 item39;
867 typedef T40 item40;
868 typedef T41 item41;
869 typedef T42 item42;
870 typedef T43 item43;
871 typedef T44 item44;
872
873
874 typedef void_ item45;
875 typedef T44 back;
876 typedef v_iter< type,0 > begin;
877 typedef v_iter< type,45 > end;
878 };
879
880 template<>
881 struct push_front_impl< aux::vector_tag<44> >
882 {
883 template< typename Vector, typename T > struct apply
884 {
885 typedef vector45<
886 T
887 ,
888 typename Vector::item0, typename Vector::item1
889 , typename Vector::item2, typename Vector::item3
890 , typename Vector::item4, typename Vector::item5
891 , typename Vector::item6, typename Vector::item7
892 , typename Vector::item8, typename Vector::item9
893 , typename Vector::item10, typename Vector::item11
894 , typename Vector::item12, typename Vector::item13
895 , typename Vector::item14, typename Vector::item15
896 , typename Vector::item16, typename Vector::item17
897 , typename Vector::item18, typename Vector::item19
898 , typename Vector::item20, typename Vector::item21
899 , typename Vector::item22, typename Vector::item23
900 , typename Vector::item24, typename Vector::item25
901 , typename Vector::item26, typename Vector::item27
902 , typename Vector::item28, typename Vector::item29
903 , typename Vector::item30, typename Vector::item31
904 , typename Vector::item32, typename Vector::item33
905 , typename Vector::item34, typename Vector::item35
906 , typename Vector::item36, typename Vector::item37
907 , typename Vector::item38, typename Vector::item39
908 , typename Vector::item40, typename Vector::item41
909 , typename Vector::item42, typename Vector::item43
910 > type;
911 };
912 };
913
914 template<>
915 struct pop_front_impl< aux::vector_tag<45> >
916 {
917 template< typename Vector > struct apply
918 {
919 typedef vector44<
920 typename Vector::item1, typename Vector::item2
921 , typename Vector::item3, typename Vector::item4
922 , typename Vector::item5, typename Vector::item6
923 , typename Vector::item7, typename Vector::item8
924 , typename Vector::item9, typename Vector::item10
925 , typename Vector::item11, typename Vector::item12
926 , typename Vector::item13, typename Vector::item14
927 , typename Vector::item15, typename Vector::item16
928 , typename Vector::item17, typename Vector::item18
929 , typename Vector::item19, typename Vector::item20
930 , typename Vector::item21, typename Vector::item22
931 , typename Vector::item23, typename Vector::item24
932 , typename Vector::item25, typename Vector::item26
933 , typename Vector::item27, typename Vector::item28
934 , typename Vector::item29, typename Vector::item30
935 , typename Vector::item31, typename Vector::item32
936 , typename Vector::item33, typename Vector::item34
937 , typename Vector::item35, typename Vector::item36
938 , typename Vector::item37, typename Vector::item38
939 , typename Vector::item39, typename Vector::item40
940 , typename Vector::item41, typename Vector::item42
941 , typename Vector::item43, typename Vector::item44
942 > type;
943 };
944 };
945
946 template<>
947 struct push_back_impl< aux::vector_tag<44> >
948 {
949 template< typename Vector, typename T > struct apply
950 {
951 typedef vector45<
952 typename Vector::item0, typename Vector::item1
953 , typename Vector::item2, typename Vector::item3
954 , typename Vector::item4, typename Vector::item5
955 , typename Vector::item6, typename Vector::item7
956 , typename Vector::item8, typename Vector::item9
957 , typename Vector::item10, typename Vector::item11
958 , typename Vector::item12, typename Vector::item13
959 , typename Vector::item14, typename Vector::item15
960 , typename Vector::item16, typename Vector::item17
961 , typename Vector::item18, typename Vector::item19
962 , typename Vector::item20, typename Vector::item21
963 , typename Vector::item22, typename Vector::item23
964 , typename Vector::item24, typename Vector::item25
965 , typename Vector::item26, typename Vector::item27
966 , typename Vector::item28, typename Vector::item29
967 , typename Vector::item30, typename Vector::item31
968 , typename Vector::item32, typename Vector::item33
969 , typename Vector::item34, typename Vector::item35
970 , typename Vector::item36, typename Vector::item37
971 , typename Vector::item38, typename Vector::item39
972 , typename Vector::item40, typename Vector::item41
973 , typename Vector::item42, typename Vector::item43
974 ,
975 T
976 > type;
977 };
978 };
979
980 template<>
981 struct pop_back_impl< aux::vector_tag<45> >
982 {
983 template< typename Vector > struct apply
984 {
985 typedef vector44<
986 typename Vector::item0, typename Vector::item1
987 , typename Vector::item2, typename Vector::item3
988 , typename Vector::item4, typename Vector::item5
989 , typename Vector::item6, typename Vector::item7
990 , typename Vector::item8, typename Vector::item9
991 , typename Vector::item10, typename Vector::item11
992 , typename Vector::item12, typename Vector::item13
993 , typename Vector::item14, typename Vector::item15
994 , typename Vector::item16, typename Vector::item17
995 , typename Vector::item18, typename Vector::item19
996 , typename Vector::item20, typename Vector::item21
997 , typename Vector::item22, typename Vector::item23
998 , typename Vector::item24, typename Vector::item25
999 , typename Vector::item26, typename Vector::item27
1000 , typename Vector::item28, typename Vector::item29
1001 , typename Vector::item30, typename Vector::item31
1002 , typename Vector::item32, typename Vector::item33
1003 , typename Vector::item34, typename Vector::item35
1004 , typename Vector::item36, typename Vector::item37
1005 , typename Vector::item38, typename Vector::item39
1006 , typename Vector::item40, typename Vector::item41
1007 , typename Vector::item42, typename Vector::item43
1008 > type;
1009 };
1010 };
1011
1012 template< typename V >
1013 struct v_at< V,45 >
1014 {
1015 typedef typename V::item45 type;
1016 };
1017
1018 template<
1019 typename T0, typename T1, typename T2, typename T3, typename T4
1020 , typename T5, typename T6, typename T7, typename T8, typename T9
1021 , typename T10, typename T11, typename T12, typename T13, typename T14
1022 , typename T15, typename T16, typename T17, typename T18, typename T19
1023 , typename T20, typename T21, typename T22, typename T23, typename T24
1024 , typename T25, typename T26, typename T27, typename T28, typename T29
1025 , typename T30, typename T31, typename T32, typename T33, typename T34
1026 , typename T35, typename T36, typename T37, typename T38, typename T39
1027 , typename T40, typename T41, typename T42, typename T43, typename T44
1028 , typename T45
1029 >
1030 struct vector46
1031 {
1032 typedef aux::vector_tag<46> tag;
1033 typedef vector46 type;
1034 typedef T0 item0;
1035 typedef T1 item1;
1036 typedef T2 item2;
1037 typedef T3 item3;
1038 typedef T4 item4;
1039 typedef T5 item5;
1040 typedef T6 item6;
1041 typedef T7 item7;
1042 typedef T8 item8;
1043 typedef T9 item9;
1044 typedef T10 item10;
1045 typedef T11 item11;
1046 typedef T12 item12;
1047 typedef T13 item13;
1048 typedef T14 item14;
1049 typedef T15 item15;
1050 typedef T16 item16;
1051 typedef T17 item17;
1052 typedef T18 item18;
1053 typedef T19 item19;
1054 typedef T20 item20;
1055 typedef T21 item21;
1056 typedef T22 item22;
1057 typedef T23 item23;
1058 typedef T24 item24;
1059 typedef T25 item25;
1060 typedef T26 item26;
1061 typedef T27 item27;
1062 typedef T28 item28;
1063 typedef T29 item29;
1064 typedef T30 item30;
1065 typedef T31 item31;
1066 typedef T32 item32;
1067 typedef T33 item33;
1068 typedef T34 item34;
1069 typedef T35 item35;
1070 typedef T36 item36;
1071 typedef T37 item37;
1072 typedef T38 item38;
1073 typedef T39 item39;
1074 typedef T40 item40;
1075 typedef T41 item41;
1076 typedef T42 item42;
1077 typedef T43 item43;
1078 typedef T44 item44;
1079 typedef T45 item45;
1080
1081
1082 typedef void_ item46;
1083 typedef T45 back;
1084 typedef v_iter< type,0 > begin;
1085 typedef v_iter< type,46 > end;
1086 };
1087
1088 template<>
1089 struct push_front_impl< aux::vector_tag<45> >
1090 {
1091 template< typename Vector, typename T > struct apply
1092 {
1093 typedef vector46<
1094 T
1095 ,
1096 typename Vector::item0, typename Vector::item1
1097 , typename Vector::item2, typename Vector::item3
1098 , typename Vector::item4, typename Vector::item5
1099 , typename Vector::item6, typename Vector::item7
1100 , typename Vector::item8, typename Vector::item9
1101 , typename Vector::item10, typename Vector::item11
1102 , typename Vector::item12, typename Vector::item13
1103 , typename Vector::item14, typename Vector::item15
1104 , typename Vector::item16, typename Vector::item17
1105 , typename Vector::item18, typename Vector::item19
1106 , typename Vector::item20, typename Vector::item21
1107 , typename Vector::item22, typename Vector::item23
1108 , typename Vector::item24, typename Vector::item25
1109 , typename Vector::item26, typename Vector::item27
1110 , typename Vector::item28, typename Vector::item29
1111 , typename Vector::item30, typename Vector::item31
1112 , typename Vector::item32, typename Vector::item33
1113 , typename Vector::item34, typename Vector::item35
1114 , typename Vector::item36, typename Vector::item37
1115 , typename Vector::item38, typename Vector::item39
1116 , typename Vector::item40, typename Vector::item41
1117 , typename Vector::item42, typename Vector::item43
1118 , typename Vector::item44
1119 > type;
1120 };
1121 };
1122
1123 template<>
1124 struct pop_front_impl< aux::vector_tag<46> >
1125 {
1126 template< typename Vector > struct apply
1127 {
1128 typedef vector45<
1129 typename Vector::item1, typename Vector::item2
1130 , typename Vector::item3, typename Vector::item4
1131 , typename Vector::item5, typename Vector::item6
1132 , typename Vector::item7, typename Vector::item8
1133 , typename Vector::item9, typename Vector::item10
1134 , typename Vector::item11, typename Vector::item12
1135 , typename Vector::item13, typename Vector::item14
1136 , typename Vector::item15, typename Vector::item16
1137 , typename Vector::item17, typename Vector::item18
1138 , typename Vector::item19, typename Vector::item20
1139 , typename Vector::item21, typename Vector::item22
1140 , typename Vector::item23, typename Vector::item24
1141 , typename Vector::item25, typename Vector::item26
1142 , typename Vector::item27, typename Vector::item28
1143 , typename Vector::item29, typename Vector::item30
1144 , typename Vector::item31, typename Vector::item32
1145 , typename Vector::item33, typename Vector::item34
1146 , typename Vector::item35, typename Vector::item36
1147 , typename Vector::item37, typename Vector::item38
1148 , typename Vector::item39, typename Vector::item40
1149 , typename Vector::item41, typename Vector::item42
1150 , typename Vector::item43, typename Vector::item44
1151 , typename Vector::item45
1152 > type;
1153 };
1154 };
1155
1156 template<>
1157 struct push_back_impl< aux::vector_tag<45> >
1158 {
1159 template< typename Vector, typename T > struct apply
1160 {
1161 typedef vector46<
1162 typename Vector::item0, typename Vector::item1
1163 , typename Vector::item2, typename Vector::item3
1164 , typename Vector::item4, typename Vector::item5
1165 , typename Vector::item6, typename Vector::item7
1166 , typename Vector::item8, typename Vector::item9
1167 , typename Vector::item10, typename Vector::item11
1168 , typename Vector::item12, typename Vector::item13
1169 , typename Vector::item14, typename Vector::item15
1170 , typename Vector::item16, typename Vector::item17
1171 , typename Vector::item18, typename Vector::item19
1172 , typename Vector::item20, typename Vector::item21
1173 , typename Vector::item22, typename Vector::item23
1174 , typename Vector::item24, typename Vector::item25
1175 , typename Vector::item26, typename Vector::item27
1176 , typename Vector::item28, typename Vector::item29
1177 , typename Vector::item30, typename Vector::item31
1178 , typename Vector::item32, typename Vector::item33
1179 , typename Vector::item34, typename Vector::item35
1180 , typename Vector::item36, typename Vector::item37
1181 , typename Vector::item38, typename Vector::item39
1182 , typename Vector::item40, typename Vector::item41
1183 , typename Vector::item42, typename Vector::item43
1184 , typename Vector::item44
1185 ,
1186 T
1187 > type;
1188 };
1189 };
1190
1191 template<>
1192 struct pop_back_impl< aux::vector_tag<46> >
1193 {
1194 template< typename Vector > struct apply
1195 {
1196 typedef vector45<
1197 typename Vector::item0, typename Vector::item1
1198 , typename Vector::item2, typename Vector::item3
1199 , typename Vector::item4, typename Vector::item5
1200 , typename Vector::item6, typename Vector::item7
1201 , typename Vector::item8, typename Vector::item9
1202 , typename Vector::item10, typename Vector::item11
1203 , typename Vector::item12, typename Vector::item13
1204 , typename Vector::item14, typename Vector::item15
1205 , typename Vector::item16, typename Vector::item17
1206 , typename Vector::item18, typename Vector::item19
1207 , typename Vector::item20, typename Vector::item21
1208 , typename Vector::item22, typename Vector::item23
1209 , typename Vector::item24, typename Vector::item25
1210 , typename Vector::item26, typename Vector::item27
1211 , typename Vector::item28, typename Vector::item29
1212 , typename Vector::item30, typename Vector::item31
1213 , typename Vector::item32, typename Vector::item33
1214 , typename Vector::item34, typename Vector::item35
1215 , typename Vector::item36, typename Vector::item37
1216 , typename Vector::item38, typename Vector::item39
1217 , typename Vector::item40, typename Vector::item41
1218 , typename Vector::item42, typename Vector::item43
1219 , typename Vector::item44
1220 > type;
1221 };
1222 };
1223
1224 template< typename V >
1225 struct v_at< V,46 >
1226 {
1227 typedef typename V::item46 type;
1228 };
1229
1230 template<
1231 typename T0, typename T1, typename T2, typename T3, typename T4
1232 , typename T5, typename T6, typename T7, typename T8, typename T9
1233 , typename T10, typename T11, typename T12, typename T13, typename T14
1234 , typename T15, typename T16, typename T17, typename T18, typename T19
1235 , typename T20, typename T21, typename T22, typename T23, typename T24
1236 , typename T25, typename T26, typename T27, typename T28, typename T29
1237 , typename T30, typename T31, typename T32, typename T33, typename T34
1238 , typename T35, typename T36, typename T37, typename T38, typename T39
1239 , typename T40, typename T41, typename T42, typename T43, typename T44
1240 , typename T45, typename T46
1241 >
1242 struct vector47
1243 {
1244 typedef aux::vector_tag<47> tag;
1245 typedef vector47 type;
1246 typedef T0 item0;
1247 typedef T1 item1;
1248 typedef T2 item2;
1249 typedef T3 item3;
1250 typedef T4 item4;
1251 typedef T5 item5;
1252 typedef T6 item6;
1253 typedef T7 item7;
1254 typedef T8 item8;
1255 typedef T9 item9;
1256 typedef T10 item10;
1257 typedef T11 item11;
1258 typedef T12 item12;
1259 typedef T13 item13;
1260 typedef T14 item14;
1261 typedef T15 item15;
1262 typedef T16 item16;
1263 typedef T17 item17;
1264 typedef T18 item18;
1265 typedef T19 item19;
1266 typedef T20 item20;
1267 typedef T21 item21;
1268 typedef T22 item22;
1269 typedef T23 item23;
1270 typedef T24 item24;
1271 typedef T25 item25;
1272 typedef T26 item26;
1273 typedef T27 item27;
1274 typedef T28 item28;
1275 typedef T29 item29;
1276 typedef T30 item30;
1277 typedef T31 item31;
1278 typedef T32 item32;
1279 typedef T33 item33;
1280 typedef T34 item34;
1281 typedef T35 item35;
1282 typedef T36 item36;
1283 typedef T37 item37;
1284 typedef T38 item38;
1285 typedef T39 item39;
1286 typedef T40 item40;
1287 typedef T41 item41;
1288 typedef T42 item42;
1289 typedef T43 item43;
1290 typedef T44 item44;
1291 typedef T45 item45;
1292 typedef T46 item46;
1293
1294
1295 typedef void_ item47;
1296 typedef T46 back;
1297 typedef v_iter< type,0 > begin;
1298 typedef v_iter< type,47 > end;
1299 };
1300
1301 template<>
1302 struct push_front_impl< aux::vector_tag<46> >
1303 {
1304 template< typename Vector, typename T > struct apply
1305 {
1306 typedef vector47<
1307 T
1308 ,
1309 typename Vector::item0, typename Vector::item1
1310 , typename Vector::item2, typename Vector::item3
1311 , typename Vector::item4, typename Vector::item5
1312 , typename Vector::item6, typename Vector::item7
1313 , typename Vector::item8, typename Vector::item9
1314 , typename Vector::item10, typename Vector::item11
1315 , typename Vector::item12, typename Vector::item13
1316 , typename Vector::item14, typename Vector::item15
1317 , typename Vector::item16, typename Vector::item17
1318 , typename Vector::item18, typename Vector::item19
1319 , typename Vector::item20, typename Vector::item21
1320 , typename Vector::item22, typename Vector::item23
1321 , typename Vector::item24, typename Vector::item25
1322 , typename Vector::item26, typename Vector::item27
1323 , typename Vector::item28, typename Vector::item29
1324 , typename Vector::item30, typename Vector::item31
1325 , typename Vector::item32, typename Vector::item33
1326 , typename Vector::item34, typename Vector::item35
1327 , typename Vector::item36, typename Vector::item37
1328 , typename Vector::item38, typename Vector::item39
1329 , typename Vector::item40, typename Vector::item41
1330 , typename Vector::item42, typename Vector::item43
1331 , typename Vector::item44, typename Vector::item45
1332 > type;
1333 };
1334 };
1335
1336 template<>
1337 struct pop_front_impl< aux::vector_tag<47> >
1338 {
1339 template< typename Vector > struct apply
1340 {
1341 typedef vector46<
1342 typename Vector::item1, typename Vector::item2
1343 , typename Vector::item3, typename Vector::item4
1344 , typename Vector::item5, typename Vector::item6
1345 , typename Vector::item7, typename Vector::item8
1346 , typename Vector::item9, typename Vector::item10
1347 , typename Vector::item11, typename Vector::item12
1348 , typename Vector::item13, typename Vector::item14
1349 , typename Vector::item15, typename Vector::item16
1350 , typename Vector::item17, typename Vector::item18
1351 , typename Vector::item19, typename Vector::item20
1352 , typename Vector::item21, typename Vector::item22
1353 , typename Vector::item23, typename Vector::item24
1354 , typename Vector::item25, typename Vector::item26
1355 , typename Vector::item27, typename Vector::item28
1356 , typename Vector::item29, typename Vector::item30
1357 , typename Vector::item31, typename Vector::item32
1358 , typename Vector::item33, typename Vector::item34
1359 , typename Vector::item35, typename Vector::item36
1360 , typename Vector::item37, typename Vector::item38
1361 , typename Vector::item39, typename Vector::item40
1362 , typename Vector::item41, typename Vector::item42
1363 , typename Vector::item43, typename Vector::item44
1364 , typename Vector::item45, typename Vector::item46
1365 > type;
1366 };
1367 };
1368
1369 template<>
1370 struct push_back_impl< aux::vector_tag<46> >
1371 {
1372 template< typename Vector, typename T > struct apply
1373 {
1374 typedef vector47<
1375 typename Vector::item0, typename Vector::item1
1376 , typename Vector::item2, typename Vector::item3
1377 , typename Vector::item4, typename Vector::item5
1378 , typename Vector::item6, typename Vector::item7
1379 , typename Vector::item8, typename Vector::item9
1380 , typename Vector::item10, typename Vector::item11
1381 , typename Vector::item12, typename Vector::item13
1382 , typename Vector::item14, typename Vector::item15
1383 , typename Vector::item16, typename Vector::item17
1384 , typename Vector::item18, typename Vector::item19
1385 , typename Vector::item20, typename Vector::item21
1386 , typename Vector::item22, typename Vector::item23
1387 , typename Vector::item24, typename Vector::item25
1388 , typename Vector::item26, typename Vector::item27
1389 , typename Vector::item28, typename Vector::item29
1390 , typename Vector::item30, typename Vector::item31
1391 , typename Vector::item32, typename Vector::item33
1392 , typename Vector::item34, typename Vector::item35
1393 , typename Vector::item36, typename Vector::item37
1394 , typename Vector::item38, typename Vector::item39
1395 , typename Vector::item40, typename Vector::item41
1396 , typename Vector::item42, typename Vector::item43
1397 , typename Vector::item44, typename Vector::item45
1398 ,
1399 T
1400 > type;
1401 };
1402 };
1403
1404 template<>
1405 struct pop_back_impl< aux::vector_tag<47> >
1406 {
1407 template< typename Vector > struct apply
1408 {
1409 typedef vector46<
1410 typename Vector::item0, typename Vector::item1
1411 , typename Vector::item2, typename Vector::item3
1412 , typename Vector::item4, typename Vector::item5
1413 , typename Vector::item6, typename Vector::item7
1414 , typename Vector::item8, typename Vector::item9
1415 , typename Vector::item10, typename Vector::item11
1416 , typename Vector::item12, typename Vector::item13
1417 , typename Vector::item14, typename Vector::item15
1418 , typename Vector::item16, typename Vector::item17
1419 , typename Vector::item18, typename Vector::item19
1420 , typename Vector::item20, typename Vector::item21
1421 , typename Vector::item22, typename Vector::item23
1422 , typename Vector::item24, typename Vector::item25
1423 , typename Vector::item26, typename Vector::item27
1424 , typename Vector::item28, typename Vector::item29
1425 , typename Vector::item30, typename Vector::item31
1426 , typename Vector::item32, typename Vector::item33
1427 , typename Vector::item34, typename Vector::item35
1428 , typename Vector::item36, typename Vector::item37
1429 , typename Vector::item38, typename Vector::item39
1430 , typename Vector::item40, typename Vector::item41
1431 , typename Vector::item42, typename Vector::item43
1432 , typename Vector::item44, typename Vector::item45
1433 > type;
1434 };
1435 };
1436
1437 template< typename V >
1438 struct v_at< V,47 >
1439 {
1440 typedef typename V::item47 type;
1441 };
1442
1443 template<
1444 typename T0, typename T1, typename T2, typename T3, typename T4
1445 , typename T5, typename T6, typename T7, typename T8, typename T9
1446 , typename T10, typename T11, typename T12, typename T13, typename T14
1447 , typename T15, typename T16, typename T17, typename T18, typename T19
1448 , typename T20, typename T21, typename T22, typename T23, typename T24
1449 , typename T25, typename T26, typename T27, typename T28, typename T29
1450 , typename T30, typename T31, typename T32, typename T33, typename T34
1451 , typename T35, typename T36, typename T37, typename T38, typename T39
1452 , typename T40, typename T41, typename T42, typename T43, typename T44
1453 , typename T45, typename T46, typename T47
1454 >
1455 struct vector48
1456 {
1457 typedef aux::vector_tag<48> tag;
1458 typedef vector48 type;
1459 typedef T0 item0;
1460 typedef T1 item1;
1461 typedef T2 item2;
1462 typedef T3 item3;
1463 typedef T4 item4;
1464 typedef T5 item5;
1465 typedef T6 item6;
1466 typedef T7 item7;
1467 typedef T8 item8;
1468 typedef T9 item9;
1469 typedef T10 item10;
1470 typedef T11 item11;
1471 typedef T12 item12;
1472 typedef T13 item13;
1473 typedef T14 item14;
1474 typedef T15 item15;
1475 typedef T16 item16;
1476 typedef T17 item17;
1477 typedef T18 item18;
1478 typedef T19 item19;
1479 typedef T20 item20;
1480 typedef T21 item21;
1481 typedef T22 item22;
1482 typedef T23 item23;
1483 typedef T24 item24;
1484 typedef T25 item25;
1485 typedef T26 item26;
1486 typedef T27 item27;
1487 typedef T28 item28;
1488 typedef T29 item29;
1489 typedef T30 item30;
1490 typedef T31 item31;
1491 typedef T32 item32;
1492 typedef T33 item33;
1493 typedef T34 item34;
1494 typedef T35 item35;
1495 typedef T36 item36;
1496 typedef T37 item37;
1497 typedef T38 item38;
1498 typedef T39 item39;
1499 typedef T40 item40;
1500 typedef T41 item41;
1501 typedef T42 item42;
1502 typedef T43 item43;
1503 typedef T44 item44;
1504 typedef T45 item45;
1505 typedef T46 item46;
1506 typedef T47 item47;
1507
1508
1509 typedef void_ item48;
1510 typedef T47 back;
1511 typedef v_iter< type,0 > begin;
1512 typedef v_iter< type,48 > end;
1513 };
1514
1515 template<>
1516 struct push_front_impl< aux::vector_tag<47> >
1517 {
1518 template< typename Vector, typename T > struct apply
1519 {
1520 typedef vector48<
1521 T
1522 ,
1523 typename Vector::item0, typename Vector::item1
1524 , typename Vector::item2, typename Vector::item3
1525 , typename Vector::item4, typename Vector::item5
1526 , typename Vector::item6, typename Vector::item7
1527 , typename Vector::item8, typename Vector::item9
1528 , typename Vector::item10, typename Vector::item11
1529 , typename Vector::item12, typename Vector::item13
1530 , typename Vector::item14, typename Vector::item15
1531 , typename Vector::item16, typename Vector::item17
1532 , typename Vector::item18, typename Vector::item19
1533 , typename Vector::item20, typename Vector::item21
1534 , typename Vector::item22, typename Vector::item23
1535 , typename Vector::item24, typename Vector::item25
1536 , typename Vector::item26, typename Vector::item27
1537 , typename Vector::item28, typename Vector::item29
1538 , typename Vector::item30, typename Vector::item31
1539 , typename Vector::item32, typename Vector::item33
1540 , typename Vector::item34, typename Vector::item35
1541 , typename Vector::item36, typename Vector::item37
1542 , typename Vector::item38, typename Vector::item39
1543 , typename Vector::item40, typename Vector::item41
1544 , typename Vector::item42, typename Vector::item43
1545 , typename Vector::item44, typename Vector::item45
1546 , typename Vector::item46
1547 > type;
1548 };
1549 };
1550
1551 template<>
1552 struct pop_front_impl< aux::vector_tag<48> >
1553 {
1554 template< typename Vector > struct apply
1555 {
1556 typedef vector47<
1557 typename Vector::item1, typename Vector::item2
1558 , typename Vector::item3, typename Vector::item4
1559 , typename Vector::item5, typename Vector::item6
1560 , typename Vector::item7, typename Vector::item8
1561 , typename Vector::item9, typename Vector::item10
1562 , typename Vector::item11, typename Vector::item12
1563 , typename Vector::item13, typename Vector::item14
1564 , typename Vector::item15, typename Vector::item16
1565 , typename Vector::item17, typename Vector::item18
1566 , typename Vector::item19, typename Vector::item20
1567 , typename Vector::item21, typename Vector::item22
1568 , typename Vector::item23, typename Vector::item24
1569 , typename Vector::item25, typename Vector::item26
1570 , typename Vector::item27, typename Vector::item28
1571 , typename Vector::item29, typename Vector::item30
1572 , typename Vector::item31, typename Vector::item32
1573 , typename Vector::item33, typename Vector::item34
1574 , typename Vector::item35, typename Vector::item36
1575 , typename Vector::item37, typename Vector::item38
1576 , typename Vector::item39, typename Vector::item40
1577 , typename Vector::item41, typename Vector::item42
1578 , typename Vector::item43, typename Vector::item44
1579 , typename Vector::item45, typename Vector::item46
1580 , typename Vector::item47
1581 > type;
1582 };
1583 };
1584
1585 template<>
1586 struct push_back_impl< aux::vector_tag<47> >
1587 {
1588 template< typename Vector, typename T > struct apply
1589 {
1590 typedef vector48<
1591 typename Vector::item0, typename Vector::item1
1592 , typename Vector::item2, typename Vector::item3
1593 , typename Vector::item4, typename Vector::item5
1594 , typename Vector::item6, typename Vector::item7
1595 , typename Vector::item8, typename Vector::item9
1596 , typename Vector::item10, typename Vector::item11
1597 , typename Vector::item12, typename Vector::item13
1598 , typename Vector::item14, typename Vector::item15
1599 , typename Vector::item16, typename Vector::item17
1600 , typename Vector::item18, typename Vector::item19
1601 , typename Vector::item20, typename Vector::item21
1602 , typename Vector::item22, typename Vector::item23
1603 , typename Vector::item24, typename Vector::item25
1604 , typename Vector::item26, typename Vector::item27
1605 , typename Vector::item28, typename Vector::item29
1606 , typename Vector::item30, typename Vector::item31
1607 , typename Vector::item32, typename Vector::item33
1608 , typename Vector::item34, typename Vector::item35
1609 , typename Vector::item36, typename Vector::item37
1610 , typename Vector::item38, typename Vector::item39
1611 , typename Vector::item40, typename Vector::item41
1612 , typename Vector::item42, typename Vector::item43
1613 , typename Vector::item44, typename Vector::item45
1614 , typename Vector::item46
1615 ,
1616 T
1617 > type;
1618 };
1619 };
1620
1621 template<>
1622 struct pop_back_impl< aux::vector_tag<48> >
1623 {
1624 template< typename Vector > struct apply
1625 {
1626 typedef vector47<
1627 typename Vector::item0, typename Vector::item1
1628 , typename Vector::item2, typename Vector::item3
1629 , typename Vector::item4, typename Vector::item5
1630 , typename Vector::item6, typename Vector::item7
1631 , typename Vector::item8, typename Vector::item9
1632 , typename Vector::item10, typename Vector::item11
1633 , typename Vector::item12, typename Vector::item13
1634 , typename Vector::item14, typename Vector::item15
1635 , typename Vector::item16, typename Vector::item17
1636 , typename Vector::item18, typename Vector::item19
1637 , typename Vector::item20, typename Vector::item21
1638 , typename Vector::item22, typename Vector::item23
1639 , typename Vector::item24, typename Vector::item25
1640 , typename Vector::item26, typename Vector::item27
1641 , typename Vector::item28, typename Vector::item29
1642 , typename Vector::item30, typename Vector::item31
1643 , typename Vector::item32, typename Vector::item33
1644 , typename Vector::item34, typename Vector::item35
1645 , typename Vector::item36, typename Vector::item37
1646 , typename Vector::item38, typename Vector::item39
1647 , typename Vector::item40, typename Vector::item41
1648 , typename Vector::item42, typename Vector::item43
1649 , typename Vector::item44, typename Vector::item45
1650 , typename Vector::item46
1651 > type;
1652 };
1653 };
1654
1655 template< typename V >
1656 struct v_at< V,48 >
1657 {
1658 typedef typename V::item48 type;
1659 };
1660
1661 template<
1662 typename T0, typename T1, typename T2, typename T3, typename T4
1663 , typename T5, typename T6, typename T7, typename T8, typename T9
1664 , typename T10, typename T11, typename T12, typename T13, typename T14
1665 , typename T15, typename T16, typename T17, typename T18, typename T19
1666 , typename T20, typename T21, typename T22, typename T23, typename T24
1667 , typename T25, typename T26, typename T27, typename T28, typename T29
1668 , typename T30, typename T31, typename T32, typename T33, typename T34
1669 , typename T35, typename T36, typename T37, typename T38, typename T39
1670 , typename T40, typename T41, typename T42, typename T43, typename T44
1671 , typename T45, typename T46, typename T47, typename T48
1672 >
1673 struct vector49
1674 {
1675 typedef aux::vector_tag<49> tag;
1676 typedef vector49 type;
1677 typedef T0 item0;
1678 typedef T1 item1;
1679 typedef T2 item2;
1680 typedef T3 item3;
1681 typedef T4 item4;
1682 typedef T5 item5;
1683 typedef T6 item6;
1684 typedef T7 item7;
1685 typedef T8 item8;
1686 typedef T9 item9;
1687 typedef T10 item10;
1688 typedef T11 item11;
1689 typedef T12 item12;
1690 typedef T13 item13;
1691 typedef T14 item14;
1692 typedef T15 item15;
1693 typedef T16 item16;
1694 typedef T17 item17;
1695 typedef T18 item18;
1696 typedef T19 item19;
1697 typedef T20 item20;
1698 typedef T21 item21;
1699 typedef T22 item22;
1700 typedef T23 item23;
1701 typedef T24 item24;
1702 typedef T25 item25;
1703 typedef T26 item26;
1704 typedef T27 item27;
1705 typedef T28 item28;
1706 typedef T29 item29;
1707 typedef T30 item30;
1708 typedef T31 item31;
1709 typedef T32 item32;
1710 typedef T33 item33;
1711 typedef T34 item34;
1712 typedef T35 item35;
1713 typedef T36 item36;
1714 typedef T37 item37;
1715 typedef T38 item38;
1716 typedef T39 item39;
1717 typedef T40 item40;
1718 typedef T41 item41;
1719 typedef T42 item42;
1720 typedef T43 item43;
1721 typedef T44 item44;
1722 typedef T45 item45;
1723 typedef T46 item46;
1724 typedef T47 item47;
1725 typedef T48 item48;
1726
1727
1728 typedef void_ item49;
1729 typedef T48 back;
1730 typedef v_iter< type,0 > begin;
1731 typedef v_iter< type,49 > end;
1732 };
1733
1734 template<>
1735 struct push_front_impl< aux::vector_tag<48> >
1736 {
1737 template< typename Vector, typename T > struct apply
1738 {
1739 typedef vector49<
1740 T
1741 ,
1742 typename Vector::item0, typename Vector::item1
1743 , typename Vector::item2, typename Vector::item3
1744 , typename Vector::item4, typename Vector::item5
1745 , typename Vector::item6, typename Vector::item7
1746 , typename Vector::item8, typename Vector::item9
1747 , typename Vector::item10, typename Vector::item11
1748 , typename Vector::item12, typename Vector::item13
1749 , typename Vector::item14, typename Vector::item15
1750 , typename Vector::item16, typename Vector::item17
1751 , typename Vector::item18, typename Vector::item19
1752 , typename Vector::item20, typename Vector::item21
1753 , typename Vector::item22, typename Vector::item23
1754 , typename Vector::item24, typename Vector::item25
1755 , typename Vector::item26, typename Vector::item27
1756 , typename Vector::item28, typename Vector::item29
1757 , typename Vector::item30, typename Vector::item31
1758 , typename Vector::item32, typename Vector::item33
1759 , typename Vector::item34, typename Vector::item35
1760 , typename Vector::item36, typename Vector::item37
1761 , typename Vector::item38, typename Vector::item39
1762 , typename Vector::item40, typename Vector::item41
1763 , typename Vector::item42, typename Vector::item43
1764 , typename Vector::item44, typename Vector::item45
1765 , typename Vector::item46, typename Vector::item47
1766 > type;
1767 };
1768 };
1769
1770 template<>
1771 struct pop_front_impl< aux::vector_tag<49> >
1772 {
1773 template< typename Vector > struct apply
1774 {
1775 typedef vector48<
1776 typename Vector::item1, typename Vector::item2
1777 , typename Vector::item3, typename Vector::item4
1778 , typename Vector::item5, typename Vector::item6
1779 , typename Vector::item7, typename Vector::item8
1780 , typename Vector::item9, typename Vector::item10
1781 , typename Vector::item11, typename Vector::item12
1782 , typename Vector::item13, typename Vector::item14
1783 , typename Vector::item15, typename Vector::item16
1784 , typename Vector::item17, typename Vector::item18
1785 , typename Vector::item19, typename Vector::item20
1786 , typename Vector::item21, typename Vector::item22
1787 , typename Vector::item23, typename Vector::item24
1788 , typename Vector::item25, typename Vector::item26
1789 , typename Vector::item27, typename Vector::item28
1790 , typename Vector::item29, typename Vector::item30
1791 , typename Vector::item31, typename Vector::item32
1792 , typename Vector::item33, typename Vector::item34
1793 , typename Vector::item35, typename Vector::item36
1794 , typename Vector::item37, typename Vector::item38
1795 , typename Vector::item39, typename Vector::item40
1796 , typename Vector::item41, typename Vector::item42
1797 , typename Vector::item43, typename Vector::item44
1798 , typename Vector::item45, typename Vector::item46
1799 , typename Vector::item47, typename Vector::item48
1800 > type;
1801 };
1802 };
1803
1804 template<>
1805 struct push_back_impl< aux::vector_tag<48> >
1806 {
1807 template< typename Vector, typename T > struct apply
1808 {
1809 typedef vector49<
1810 typename Vector::item0, typename Vector::item1
1811 , typename Vector::item2, typename Vector::item3
1812 , typename Vector::item4, typename Vector::item5
1813 , typename Vector::item6, typename Vector::item7
1814 , typename Vector::item8, typename Vector::item9
1815 , typename Vector::item10, typename Vector::item11
1816 , typename Vector::item12, typename Vector::item13
1817 , typename Vector::item14, typename Vector::item15
1818 , typename Vector::item16, typename Vector::item17
1819 , typename Vector::item18, typename Vector::item19
1820 , typename Vector::item20, typename Vector::item21
1821 , typename Vector::item22, typename Vector::item23
1822 , typename Vector::item24, typename Vector::item25
1823 , typename Vector::item26, typename Vector::item27
1824 , typename Vector::item28, typename Vector::item29
1825 , typename Vector::item30, typename Vector::item31
1826 , typename Vector::item32, typename Vector::item33
1827 , typename Vector::item34, typename Vector::item35
1828 , typename Vector::item36, typename Vector::item37
1829 , typename Vector::item38, typename Vector::item39
1830 , typename Vector::item40, typename Vector::item41
1831 , typename Vector::item42, typename Vector::item43
1832 , typename Vector::item44, typename Vector::item45
1833 , typename Vector::item46, typename Vector::item47
1834 ,
1835 T
1836 > type;
1837 };
1838 };
1839
1840 template<>
1841 struct pop_back_impl< aux::vector_tag<49> >
1842 {
1843 template< typename Vector > struct apply
1844 {
1845 typedef vector48<
1846 typename Vector::item0, typename Vector::item1
1847 , typename Vector::item2, typename Vector::item3
1848 , typename Vector::item4, typename Vector::item5
1849 , typename Vector::item6, typename Vector::item7
1850 , typename Vector::item8, typename Vector::item9
1851 , typename Vector::item10, typename Vector::item11
1852 , typename Vector::item12, typename Vector::item13
1853 , typename Vector::item14, typename Vector::item15
1854 , typename Vector::item16, typename Vector::item17
1855 , typename Vector::item18, typename Vector::item19
1856 , typename Vector::item20, typename Vector::item21
1857 , typename Vector::item22, typename Vector::item23
1858 , typename Vector::item24, typename Vector::item25
1859 , typename Vector::item26, typename Vector::item27
1860 , typename Vector::item28, typename Vector::item29
1861 , typename Vector::item30, typename Vector::item31
1862 , typename Vector::item32, typename Vector::item33
1863 , typename Vector::item34, typename Vector::item35
1864 , typename Vector::item36, typename Vector::item37
1865 , typename Vector::item38, typename Vector::item39
1866 , typename Vector::item40, typename Vector::item41
1867 , typename Vector::item42, typename Vector::item43
1868 , typename Vector::item44, typename Vector::item45
1869 , typename Vector::item46, typename Vector::item47
1870 > type;
1871 };
1872 };
1873
1874 template< typename V >
1875 struct v_at< V,49 >
1876 {
1877 typedef typename V::item49 type;
1878 };
1879
1880 template<
1881 typename T0, typename T1, typename T2, typename T3, typename T4
1882 , typename T5, typename T6, typename T7, typename T8, typename T9
1883 , typename T10, typename T11, typename T12, typename T13, typename T14
1884 , typename T15, typename T16, typename T17, typename T18, typename T19
1885 , typename T20, typename T21, typename T22, typename T23, typename T24
1886 , typename T25, typename T26, typename T27, typename T28, typename T29
1887 , typename T30, typename T31, typename T32, typename T33, typename T34
1888 , typename T35, typename T36, typename T37, typename T38, typename T39
1889 , typename T40, typename T41, typename T42, typename T43, typename T44
1890 , typename T45, typename T46, typename T47, typename T48, typename T49
1891 >
1892 struct vector50
1893 {
1894 typedef aux::vector_tag<50> tag;
1895 typedef vector50 type;
1896 typedef T0 item0;
1897 typedef T1 item1;
1898 typedef T2 item2;
1899 typedef T3 item3;
1900 typedef T4 item4;
1901 typedef T5 item5;
1902 typedef T6 item6;
1903 typedef T7 item7;
1904 typedef T8 item8;
1905 typedef T9 item9;
1906 typedef T10 item10;
1907 typedef T11 item11;
1908 typedef T12 item12;
1909 typedef T13 item13;
1910 typedef T14 item14;
1911 typedef T15 item15;
1912 typedef T16 item16;
1913 typedef T17 item17;
1914 typedef T18 item18;
1915 typedef T19 item19;
1916 typedef T20 item20;
1917 typedef T21 item21;
1918 typedef T22 item22;
1919 typedef T23 item23;
1920 typedef T24 item24;
1921 typedef T25 item25;
1922 typedef T26 item26;
1923 typedef T27 item27;
1924 typedef T28 item28;
1925 typedef T29 item29;
1926 typedef T30 item30;
1927 typedef T31 item31;
1928 typedef T32 item32;
1929 typedef T33 item33;
1930 typedef T34 item34;
1931 typedef T35 item35;
1932 typedef T36 item36;
1933 typedef T37 item37;
1934 typedef T38 item38;
1935 typedef T39 item39;
1936 typedef T40 item40;
1937 typedef T41 item41;
1938 typedef T42 item42;
1939 typedef T43 item43;
1940 typedef T44 item44;
1941 typedef T45 item45;
1942 typedef T46 item46;
1943 typedef T47 item47;
1944 typedef T48 item48;
1945 typedef T49 item49;
1946
1947
1948 typedef void_ item50;
1949 typedef T49 back;
1950 typedef v_iter< type,0 > begin;
1951 typedef v_iter< type,50 > end;
1952 };
1953
1954 template<>
1955 struct push_front_impl< aux::vector_tag<49> >
1956 {
1957 template< typename Vector, typename T > struct apply
1958 {
1959 typedef vector50<
1960 T
1961 ,
1962 typename Vector::item0, typename Vector::item1
1963 , typename Vector::item2, typename Vector::item3
1964 , typename Vector::item4, typename Vector::item5
1965 , typename Vector::item6, typename Vector::item7
1966 , typename Vector::item8, typename Vector::item9
1967 , typename Vector::item10, typename Vector::item11
1968 , typename Vector::item12, typename Vector::item13
1969 , typename Vector::item14, typename Vector::item15
1970 , typename Vector::item16, typename Vector::item17
1971 , typename Vector::item18, typename Vector::item19
1972 , typename Vector::item20, typename Vector::item21
1973 , typename Vector::item22, typename Vector::item23
1974 , typename Vector::item24, typename Vector::item25
1975 , typename Vector::item26, typename Vector::item27
1976 , typename Vector::item28, typename Vector::item29
1977 , typename Vector::item30, typename Vector::item31
1978 , typename Vector::item32, typename Vector::item33
1979 , typename Vector::item34, typename Vector::item35
1980 , typename Vector::item36, typename Vector::item37
1981 , typename Vector::item38, typename Vector::item39
1982 , typename Vector::item40, typename Vector::item41
1983 , typename Vector::item42, typename Vector::item43
1984 , typename Vector::item44, typename Vector::item45
1985 , typename Vector::item46, typename Vector::item47
1986 , typename Vector::item48
1987 > type;
1988 };
1989 };
1990
1991 template<>
1992 struct pop_front_impl< aux::vector_tag<50> >
1993 {
1994 template< typename Vector > struct apply
1995 {
1996 typedef vector49<
1997 typename Vector::item1, typename Vector::item2
1998 , typename Vector::item3, typename Vector::item4
1999 , typename Vector::item5, typename Vector::item6
2000 , typename Vector::item7, typename Vector::item8
2001 , typename Vector::item9, typename Vector::item10
2002 , typename Vector::item11, typename Vector::item12
2003 , typename Vector::item13, typename Vector::item14
2004 , typename Vector::item15, typename Vector::item16
2005 , typename Vector::item17, typename Vector::item18
2006 , typename Vector::item19, typename Vector::item20
2007 , typename Vector::item21, typename Vector::item22
2008 , typename Vector::item23, typename Vector::item24
2009 , typename Vector::item25, typename Vector::item26
2010 , typename Vector::item27, typename Vector::item28
2011 , typename Vector::item29, typename Vector::item30
2012 , typename Vector::item31, typename Vector::item32
2013 , typename Vector::item33, typename Vector::item34
2014 , typename Vector::item35, typename Vector::item36
2015 , typename Vector::item37, typename Vector::item38
2016 , typename Vector::item39, typename Vector::item40
2017 , typename Vector::item41, typename Vector::item42
2018 , typename Vector::item43, typename Vector::item44
2019 , typename Vector::item45, typename Vector::item46
2020 , typename Vector::item47, typename Vector::item48
2021 , typename Vector::item49
2022 > type;
2023 };
2024 };
2025
2026 template<>
2027 struct push_back_impl< aux::vector_tag<49> >
2028 {
2029 template< typename Vector, typename T > struct apply
2030 {
2031 typedef vector50<
2032 typename Vector::item0, typename Vector::item1
2033 , typename Vector::item2, typename Vector::item3
2034 , typename Vector::item4, typename Vector::item5
2035 , typename Vector::item6, typename Vector::item7
2036 , typename Vector::item8, typename Vector::item9
2037 , typename Vector::item10, typename Vector::item11
2038 , typename Vector::item12, typename Vector::item13
2039 , typename Vector::item14, typename Vector::item15
2040 , typename Vector::item16, typename Vector::item17
2041 , typename Vector::item18, typename Vector::item19
2042 , typename Vector::item20, typename Vector::item21
2043 , typename Vector::item22, typename Vector::item23
2044 , typename Vector::item24, typename Vector::item25
2045 , typename Vector::item26, typename Vector::item27
2046 , typename Vector::item28, typename Vector::item29
2047 , typename Vector::item30, typename Vector::item31
2048 , typename Vector::item32, typename Vector::item33
2049 , typename Vector::item34, typename Vector::item35
2050 , typename Vector::item36, typename Vector::item37
2051 , typename Vector::item38, typename Vector::item39
2052 , typename Vector::item40, typename Vector::item41
2053 , typename Vector::item42, typename Vector::item43
2054 , typename Vector::item44, typename Vector::item45
2055 , typename Vector::item46, typename Vector::item47
2056 , typename Vector::item48
2057 ,
2058 T
2059 > type;
2060 };
2061 };
2062
2063 template<>
2064 struct pop_back_impl< aux::vector_tag<50> >
2065 {
2066 template< typename Vector > struct apply
2067 {
2068 typedef vector49<
2069 typename Vector::item0, typename Vector::item1
2070 , typename Vector::item2, typename Vector::item3
2071 , typename Vector::item4, typename Vector::item5
2072 , typename Vector::item6, typename Vector::item7
2073 , typename Vector::item8, typename Vector::item9
2074 , typename Vector::item10, typename Vector::item11
2075 , typename Vector::item12, typename Vector::item13
2076 , typename Vector::item14, typename Vector::item15
2077 , typename Vector::item16, typename Vector::item17
2078 , typename Vector::item18, typename Vector::item19
2079 , typename Vector::item20, typename Vector::item21
2080 , typename Vector::item22, typename Vector::item23
2081 , typename Vector::item24, typename Vector::item25
2082 , typename Vector::item26, typename Vector::item27
2083 , typename Vector::item28, typename Vector::item29
2084 , typename Vector::item30, typename Vector::item31
2085 , typename Vector::item32, typename Vector::item33
2086 , typename Vector::item34, typename Vector::item35
2087 , typename Vector::item36, typename Vector::item37
2088 , typename Vector::item38, typename Vector::item39
2089 , typename Vector::item40, typename Vector::item41
2090 , typename Vector::item42, typename Vector::item43
2091 , typename Vector::item44, typename Vector::item45
2092 , typename Vector::item46, typename Vector::item47
2093 , typename Vector::item48
2094 > type;
2095 };
2096 };
2097
2098 template< typename V >
2099 struct v_at< V,50 >
2100 {
2101 typedef typename V::item50 type;
2102 };
2103
2104 }}