]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mpl/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / mpl / include / boost / mpl / vector / aux_ / preprocessed / no_ctps / 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 namespace aux {
203 template<> struct v_at_impl<41>
204 {
205 template< typename V_ > struct result_
206 {
207 typedef typename V_::item41 type;
208 };
209 };
210
211 }
212
213 template<>
214 struct at_impl< aux::vector_tag<41> >
215 {
216 template< typename V_, typename N > struct apply
217 {
218 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
219 ::template result_<V_>::type type;
220 };
221 };
222
223 template<>
224 struct front_impl< aux::vector_tag<41> >
225 {
226 template< typename Vector > struct apply
227 {
228 typedef typename Vector::item0 type;
229 };
230 };
231
232 template<>
233 struct back_impl< aux::vector_tag<41> >
234 {
235 template< typename Vector > struct apply
236 {
237 typedef typename Vector::back type;
238 };
239 };
240
241 template<>
242 struct empty_impl< aux::vector_tag<41> >
243 {
244 template< typename Vector > struct apply
245 : false_
246 {
247 };
248 };
249
250 template<>
251 struct size_impl< aux::vector_tag<41> >
252 {
253 template< typename Vector > struct apply
254 : long_<41>
255 {
256 };
257 };
258
259 template<>
260 struct O1_size_impl< aux::vector_tag<41> >
261 : size_impl< aux::vector_tag<41> >
262 {
263 };
264
265 template<>
266 struct clear_impl< aux::vector_tag<41> >
267 {
268 template< typename Vector > struct apply
269 {
270 typedef vector0<> type;
271 };
272 };
273
274 template<
275 typename T0, typename T1, typename T2, typename T3, typename T4
276 , typename T5, typename T6, typename T7, typename T8, typename T9
277 , typename T10, typename T11, typename T12, typename T13, typename T14
278 , typename T15, typename T16, typename T17, typename T18, typename T19
279 , typename T20, typename T21, typename T22, typename T23, typename T24
280 , typename T25, typename T26, typename T27, typename T28, typename T29
281 , typename T30, typename T31, typename T32, typename T33, typename T34
282 , typename T35, typename T36, typename T37, typename T38, typename T39
283 , typename T40, typename T41
284 >
285 struct vector42
286 {
287 typedef aux::vector_tag<42> tag;
288 typedef vector42 type;
289 typedef T0 item0;
290 typedef T1 item1;
291 typedef T2 item2;
292 typedef T3 item3;
293 typedef T4 item4;
294 typedef T5 item5;
295 typedef T6 item6;
296 typedef T7 item7;
297 typedef T8 item8;
298 typedef T9 item9;
299 typedef T10 item10;
300 typedef T11 item11;
301 typedef T12 item12;
302 typedef T13 item13;
303 typedef T14 item14;
304 typedef T15 item15;
305 typedef T16 item16;
306 typedef T17 item17;
307 typedef T18 item18;
308 typedef T19 item19;
309 typedef T20 item20;
310 typedef T21 item21;
311 typedef T22 item22;
312 typedef T23 item23;
313 typedef T24 item24;
314 typedef T25 item25;
315 typedef T26 item26;
316 typedef T27 item27;
317 typedef T28 item28;
318 typedef T29 item29;
319 typedef T30 item30;
320 typedef T31 item31;
321 typedef T32 item32;
322 typedef T33 item33;
323 typedef T34 item34;
324 typedef T35 item35;
325 typedef T36 item36;
326 typedef T37 item37;
327 typedef T38 item38;
328 typedef T39 item39;
329 typedef T40 item40;
330 typedef T41 item41;
331
332
333 typedef void_ item42;
334 typedef T41 back;
335 typedef v_iter< type,0 > begin;
336 typedef v_iter< type,42 > end;
337 };
338
339 template<>
340 struct push_front_impl< aux::vector_tag<41> >
341 {
342 template< typename Vector, typename T > struct apply
343 {
344 typedef vector42<
345 T
346 ,
347 typename Vector::item0, typename Vector::item1
348 , typename Vector::item2, typename Vector::item3
349 , typename Vector::item4, typename Vector::item5
350 , typename Vector::item6, typename Vector::item7
351 , typename Vector::item8, typename Vector::item9
352 , typename Vector::item10, typename Vector::item11
353 , typename Vector::item12, typename Vector::item13
354 , typename Vector::item14, typename Vector::item15
355 , typename Vector::item16, typename Vector::item17
356 , typename Vector::item18, typename Vector::item19
357 , typename Vector::item20, typename Vector::item21
358 , typename Vector::item22, typename Vector::item23
359 , typename Vector::item24, typename Vector::item25
360 , typename Vector::item26, typename Vector::item27
361 , typename Vector::item28, typename Vector::item29
362 , typename Vector::item30, typename Vector::item31
363 , typename Vector::item32, typename Vector::item33
364 , typename Vector::item34, typename Vector::item35
365 , typename Vector::item36, typename Vector::item37
366 , typename Vector::item38, typename Vector::item39
367 , typename Vector::item40
368 > type;
369 };
370 };
371
372 template<>
373 struct pop_front_impl< aux::vector_tag<42> >
374 {
375 template< typename Vector > struct apply
376 {
377 typedef vector41<
378 typename Vector::item1, typename Vector::item2
379 , typename Vector::item3, typename Vector::item4
380 , typename Vector::item5, typename Vector::item6
381 , typename Vector::item7, typename Vector::item8
382 , typename Vector::item9, typename Vector::item10
383 , typename Vector::item11, typename Vector::item12
384 , typename Vector::item13, typename Vector::item14
385 , typename Vector::item15, typename Vector::item16
386 , typename Vector::item17, typename Vector::item18
387 , typename Vector::item19, typename Vector::item20
388 , typename Vector::item21, typename Vector::item22
389 , typename Vector::item23, typename Vector::item24
390 , typename Vector::item25, typename Vector::item26
391 , typename Vector::item27, typename Vector::item28
392 , typename Vector::item29, typename Vector::item30
393 , typename Vector::item31, typename Vector::item32
394 , typename Vector::item33, typename Vector::item34
395 , typename Vector::item35, typename Vector::item36
396 , typename Vector::item37, typename Vector::item38
397 , typename Vector::item39, typename Vector::item40
398 , typename Vector::item41
399 > type;
400 };
401 };
402
403 template<>
404 struct push_back_impl< aux::vector_tag<41> >
405 {
406 template< typename Vector, typename T > struct apply
407 {
408 typedef vector42<
409 typename Vector::item0, typename Vector::item1
410 , typename Vector::item2, typename Vector::item3
411 , typename Vector::item4, typename Vector::item5
412 , typename Vector::item6, typename Vector::item7
413 , typename Vector::item8, typename Vector::item9
414 , typename Vector::item10, typename Vector::item11
415 , typename Vector::item12, typename Vector::item13
416 , typename Vector::item14, typename Vector::item15
417 , typename Vector::item16, typename Vector::item17
418 , typename Vector::item18, typename Vector::item19
419 , typename Vector::item20, typename Vector::item21
420 , typename Vector::item22, typename Vector::item23
421 , typename Vector::item24, typename Vector::item25
422 , typename Vector::item26, typename Vector::item27
423 , typename Vector::item28, typename Vector::item29
424 , typename Vector::item30, typename Vector::item31
425 , typename Vector::item32, typename Vector::item33
426 , typename Vector::item34, typename Vector::item35
427 , typename Vector::item36, typename Vector::item37
428 , typename Vector::item38, typename Vector::item39
429 , typename Vector::item40
430 ,
431 T
432 > type;
433 };
434 };
435
436 template<>
437 struct pop_back_impl< aux::vector_tag<42> >
438 {
439 template< typename Vector > struct apply
440 {
441 typedef vector41<
442 typename Vector::item0, typename Vector::item1
443 , typename Vector::item2, typename Vector::item3
444 , typename Vector::item4, typename Vector::item5
445 , typename Vector::item6, typename Vector::item7
446 , typename Vector::item8, typename Vector::item9
447 , typename Vector::item10, typename Vector::item11
448 , typename Vector::item12, typename Vector::item13
449 , typename Vector::item14, typename Vector::item15
450 , typename Vector::item16, typename Vector::item17
451 , typename Vector::item18, typename Vector::item19
452 , typename Vector::item20, typename Vector::item21
453 , typename Vector::item22, typename Vector::item23
454 , typename Vector::item24, typename Vector::item25
455 , typename Vector::item26, typename Vector::item27
456 , typename Vector::item28, typename Vector::item29
457 , typename Vector::item30, typename Vector::item31
458 , typename Vector::item32, typename Vector::item33
459 , typename Vector::item34, typename Vector::item35
460 , typename Vector::item36, typename Vector::item37
461 , typename Vector::item38, typename Vector::item39
462 , typename Vector::item40
463 > type;
464 };
465 };
466
467 namespace aux {
468 template<> struct v_at_impl<42>
469 {
470 template< typename V_ > struct result_
471 {
472 typedef typename V_::item42 type;
473 };
474 };
475
476 }
477
478 template<>
479 struct at_impl< aux::vector_tag<42> >
480 {
481 template< typename V_, typename N > struct apply
482 {
483 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
484 ::template result_<V_>::type type;
485 };
486 };
487
488 template<>
489 struct front_impl< aux::vector_tag<42> >
490 {
491 template< typename Vector > struct apply
492 {
493 typedef typename Vector::item0 type;
494 };
495 };
496
497 template<>
498 struct back_impl< aux::vector_tag<42> >
499 {
500 template< typename Vector > struct apply
501 {
502 typedef typename Vector::back type;
503 };
504 };
505
506 template<>
507 struct empty_impl< aux::vector_tag<42> >
508 {
509 template< typename Vector > struct apply
510 : false_
511 {
512 };
513 };
514
515 template<>
516 struct size_impl< aux::vector_tag<42> >
517 {
518 template< typename Vector > struct apply
519 : long_<42>
520 {
521 };
522 };
523
524 template<>
525 struct O1_size_impl< aux::vector_tag<42> >
526 : size_impl< aux::vector_tag<42> >
527 {
528 };
529
530 template<>
531 struct clear_impl< aux::vector_tag<42> >
532 {
533 template< typename Vector > struct apply
534 {
535 typedef vector0<> type;
536 };
537 };
538
539 template<
540 typename T0, typename T1, typename T2, typename T3, typename T4
541 , typename T5, typename T6, typename T7, typename T8, typename T9
542 , typename T10, typename T11, typename T12, typename T13, typename T14
543 , typename T15, typename T16, typename T17, typename T18, typename T19
544 , typename T20, typename T21, typename T22, typename T23, typename T24
545 , typename T25, typename T26, typename T27, typename T28, typename T29
546 , typename T30, typename T31, typename T32, typename T33, typename T34
547 , typename T35, typename T36, typename T37, typename T38, typename T39
548 , typename T40, typename T41, typename T42
549 >
550 struct vector43
551 {
552 typedef aux::vector_tag<43> tag;
553 typedef vector43 type;
554 typedef T0 item0;
555 typedef T1 item1;
556 typedef T2 item2;
557 typedef T3 item3;
558 typedef T4 item4;
559 typedef T5 item5;
560 typedef T6 item6;
561 typedef T7 item7;
562 typedef T8 item8;
563 typedef T9 item9;
564 typedef T10 item10;
565 typedef T11 item11;
566 typedef T12 item12;
567 typedef T13 item13;
568 typedef T14 item14;
569 typedef T15 item15;
570 typedef T16 item16;
571 typedef T17 item17;
572 typedef T18 item18;
573 typedef T19 item19;
574 typedef T20 item20;
575 typedef T21 item21;
576 typedef T22 item22;
577 typedef T23 item23;
578 typedef T24 item24;
579 typedef T25 item25;
580 typedef T26 item26;
581 typedef T27 item27;
582 typedef T28 item28;
583 typedef T29 item29;
584 typedef T30 item30;
585 typedef T31 item31;
586 typedef T32 item32;
587 typedef T33 item33;
588 typedef T34 item34;
589 typedef T35 item35;
590 typedef T36 item36;
591 typedef T37 item37;
592 typedef T38 item38;
593 typedef T39 item39;
594 typedef T40 item40;
595 typedef T41 item41;
596 typedef T42 item42;
597
598
599 typedef void_ item43;
600 typedef T42 back;
601 typedef v_iter< type,0 > begin;
602 typedef v_iter< type,43 > end;
603 };
604
605 template<>
606 struct push_front_impl< aux::vector_tag<42> >
607 {
608 template< typename Vector, typename T > struct apply
609 {
610 typedef vector43<
611 T
612 ,
613 typename Vector::item0, typename Vector::item1
614 , typename Vector::item2, typename Vector::item3
615 , typename Vector::item4, typename Vector::item5
616 , typename Vector::item6, typename Vector::item7
617 , typename Vector::item8, typename Vector::item9
618 , typename Vector::item10, typename Vector::item11
619 , typename Vector::item12, typename Vector::item13
620 , typename Vector::item14, typename Vector::item15
621 , typename Vector::item16, typename Vector::item17
622 , typename Vector::item18, typename Vector::item19
623 , typename Vector::item20, typename Vector::item21
624 , typename Vector::item22, typename Vector::item23
625 , typename Vector::item24, typename Vector::item25
626 , typename Vector::item26, typename Vector::item27
627 , typename Vector::item28, typename Vector::item29
628 , typename Vector::item30, typename Vector::item31
629 , typename Vector::item32, typename Vector::item33
630 , typename Vector::item34, typename Vector::item35
631 , typename Vector::item36, typename Vector::item37
632 , typename Vector::item38, typename Vector::item39
633 , typename Vector::item40, typename Vector::item41
634 > type;
635 };
636 };
637
638 template<>
639 struct pop_front_impl< aux::vector_tag<43> >
640 {
641 template< typename Vector > struct apply
642 {
643 typedef vector42<
644 typename Vector::item1, typename Vector::item2
645 , typename Vector::item3, typename Vector::item4
646 , typename Vector::item5, typename Vector::item6
647 , typename Vector::item7, typename Vector::item8
648 , typename Vector::item9, typename Vector::item10
649 , typename Vector::item11, typename Vector::item12
650 , typename Vector::item13, typename Vector::item14
651 , typename Vector::item15, typename Vector::item16
652 , typename Vector::item17, typename Vector::item18
653 , typename Vector::item19, typename Vector::item20
654 , typename Vector::item21, typename Vector::item22
655 , typename Vector::item23, typename Vector::item24
656 , typename Vector::item25, typename Vector::item26
657 , typename Vector::item27, typename Vector::item28
658 , typename Vector::item29, typename Vector::item30
659 , typename Vector::item31, typename Vector::item32
660 , typename Vector::item33, typename Vector::item34
661 , typename Vector::item35, typename Vector::item36
662 , typename Vector::item37, typename Vector::item38
663 , typename Vector::item39, typename Vector::item40
664 , typename Vector::item41, typename Vector::item42
665 > type;
666 };
667 };
668
669 template<>
670 struct push_back_impl< aux::vector_tag<42> >
671 {
672 template< typename Vector, typename T > struct apply
673 {
674 typedef vector43<
675 typename Vector::item0, typename Vector::item1
676 , typename Vector::item2, typename Vector::item3
677 , typename Vector::item4, typename Vector::item5
678 , typename Vector::item6, typename Vector::item7
679 , typename Vector::item8, typename Vector::item9
680 , typename Vector::item10, typename Vector::item11
681 , typename Vector::item12, typename Vector::item13
682 , typename Vector::item14, typename Vector::item15
683 , typename Vector::item16, typename Vector::item17
684 , typename Vector::item18, typename Vector::item19
685 , typename Vector::item20, typename Vector::item21
686 , typename Vector::item22, typename Vector::item23
687 , typename Vector::item24, typename Vector::item25
688 , typename Vector::item26, typename Vector::item27
689 , typename Vector::item28, typename Vector::item29
690 , typename Vector::item30, typename Vector::item31
691 , typename Vector::item32, typename Vector::item33
692 , typename Vector::item34, typename Vector::item35
693 , typename Vector::item36, typename Vector::item37
694 , typename Vector::item38, typename Vector::item39
695 , typename Vector::item40, typename Vector::item41
696 ,
697 T
698 > type;
699 };
700 };
701
702 template<>
703 struct pop_back_impl< aux::vector_tag<43> >
704 {
705 template< typename Vector > struct apply
706 {
707 typedef vector42<
708 typename Vector::item0, typename Vector::item1
709 , typename Vector::item2, typename Vector::item3
710 , typename Vector::item4, typename Vector::item5
711 , typename Vector::item6, typename Vector::item7
712 , typename Vector::item8, typename Vector::item9
713 , typename Vector::item10, typename Vector::item11
714 , typename Vector::item12, typename Vector::item13
715 , typename Vector::item14, typename Vector::item15
716 , typename Vector::item16, typename Vector::item17
717 , typename Vector::item18, typename Vector::item19
718 , typename Vector::item20, typename Vector::item21
719 , typename Vector::item22, typename Vector::item23
720 , typename Vector::item24, typename Vector::item25
721 , typename Vector::item26, typename Vector::item27
722 , typename Vector::item28, typename Vector::item29
723 , typename Vector::item30, typename Vector::item31
724 , typename Vector::item32, typename Vector::item33
725 , typename Vector::item34, typename Vector::item35
726 , typename Vector::item36, typename Vector::item37
727 , typename Vector::item38, typename Vector::item39
728 , typename Vector::item40, typename Vector::item41
729 > type;
730 };
731 };
732
733 namespace aux {
734 template<> struct v_at_impl<43>
735 {
736 template< typename V_ > struct result_
737 {
738 typedef typename V_::item43 type;
739 };
740 };
741
742 }
743
744 template<>
745 struct at_impl< aux::vector_tag<43> >
746 {
747 template< typename V_, typename N > struct apply
748 {
749 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
750 ::template result_<V_>::type type;
751 };
752 };
753
754 template<>
755 struct front_impl< aux::vector_tag<43> >
756 {
757 template< typename Vector > struct apply
758 {
759 typedef typename Vector::item0 type;
760 };
761 };
762
763 template<>
764 struct back_impl< aux::vector_tag<43> >
765 {
766 template< typename Vector > struct apply
767 {
768 typedef typename Vector::back type;
769 };
770 };
771
772 template<>
773 struct empty_impl< aux::vector_tag<43> >
774 {
775 template< typename Vector > struct apply
776 : false_
777 {
778 };
779 };
780
781 template<>
782 struct size_impl< aux::vector_tag<43> >
783 {
784 template< typename Vector > struct apply
785 : long_<43>
786 {
787 };
788 };
789
790 template<>
791 struct O1_size_impl< aux::vector_tag<43> >
792 : size_impl< aux::vector_tag<43> >
793 {
794 };
795
796 template<>
797 struct clear_impl< aux::vector_tag<43> >
798 {
799 template< typename Vector > struct apply
800 {
801 typedef vector0<> type;
802 };
803 };
804
805 template<
806 typename T0, typename T1, typename T2, typename T3, typename T4
807 , typename T5, typename T6, typename T7, typename T8, typename T9
808 , typename T10, typename T11, typename T12, typename T13, typename T14
809 , typename T15, typename T16, typename T17, typename T18, typename T19
810 , typename T20, typename T21, typename T22, typename T23, typename T24
811 , typename T25, typename T26, typename T27, typename T28, typename T29
812 , typename T30, typename T31, typename T32, typename T33, typename T34
813 , typename T35, typename T36, typename T37, typename T38, typename T39
814 , typename T40, typename T41, typename T42, typename T43
815 >
816 struct vector44
817 {
818 typedef aux::vector_tag<44> tag;
819 typedef vector44 type;
820 typedef T0 item0;
821 typedef T1 item1;
822 typedef T2 item2;
823 typedef T3 item3;
824 typedef T4 item4;
825 typedef T5 item5;
826 typedef T6 item6;
827 typedef T7 item7;
828 typedef T8 item8;
829 typedef T9 item9;
830 typedef T10 item10;
831 typedef T11 item11;
832 typedef T12 item12;
833 typedef T13 item13;
834 typedef T14 item14;
835 typedef T15 item15;
836 typedef T16 item16;
837 typedef T17 item17;
838 typedef T18 item18;
839 typedef T19 item19;
840 typedef T20 item20;
841 typedef T21 item21;
842 typedef T22 item22;
843 typedef T23 item23;
844 typedef T24 item24;
845 typedef T25 item25;
846 typedef T26 item26;
847 typedef T27 item27;
848 typedef T28 item28;
849 typedef T29 item29;
850 typedef T30 item30;
851 typedef T31 item31;
852 typedef T32 item32;
853 typedef T33 item33;
854 typedef T34 item34;
855 typedef T35 item35;
856 typedef T36 item36;
857 typedef T37 item37;
858 typedef T38 item38;
859 typedef T39 item39;
860 typedef T40 item40;
861 typedef T41 item41;
862 typedef T42 item42;
863 typedef T43 item43;
864
865
866 typedef void_ item44;
867 typedef T43 back;
868 typedef v_iter< type,0 > begin;
869 typedef v_iter< type,44 > end;
870 };
871
872 template<>
873 struct push_front_impl< aux::vector_tag<43> >
874 {
875 template< typename Vector, typename T > struct apply
876 {
877 typedef vector44<
878 T
879 ,
880 typename Vector::item0, typename Vector::item1
881 , typename Vector::item2, typename Vector::item3
882 , typename Vector::item4, typename Vector::item5
883 , typename Vector::item6, typename Vector::item7
884 , typename Vector::item8, typename Vector::item9
885 , typename Vector::item10, typename Vector::item11
886 , typename Vector::item12, typename Vector::item13
887 , typename Vector::item14, typename Vector::item15
888 , typename Vector::item16, typename Vector::item17
889 , typename Vector::item18, typename Vector::item19
890 , typename Vector::item20, typename Vector::item21
891 , typename Vector::item22, typename Vector::item23
892 , typename Vector::item24, typename Vector::item25
893 , typename Vector::item26, typename Vector::item27
894 , typename Vector::item28, typename Vector::item29
895 , typename Vector::item30, typename Vector::item31
896 , typename Vector::item32, typename Vector::item33
897 , typename Vector::item34, typename Vector::item35
898 , typename Vector::item36, typename Vector::item37
899 , typename Vector::item38, typename Vector::item39
900 , typename Vector::item40, typename Vector::item41
901 , typename Vector::item42
902 > type;
903 };
904 };
905
906 template<>
907 struct pop_front_impl< aux::vector_tag<44> >
908 {
909 template< typename Vector > struct apply
910 {
911 typedef vector43<
912 typename Vector::item1, typename Vector::item2
913 , typename Vector::item3, typename Vector::item4
914 , typename Vector::item5, typename Vector::item6
915 , typename Vector::item7, typename Vector::item8
916 , typename Vector::item9, typename Vector::item10
917 , typename Vector::item11, typename Vector::item12
918 , typename Vector::item13, typename Vector::item14
919 , typename Vector::item15, typename Vector::item16
920 , typename Vector::item17, typename Vector::item18
921 , typename Vector::item19, typename Vector::item20
922 , typename Vector::item21, typename Vector::item22
923 , typename Vector::item23, typename Vector::item24
924 , typename Vector::item25, typename Vector::item26
925 , typename Vector::item27, typename Vector::item28
926 , typename Vector::item29, typename Vector::item30
927 , typename Vector::item31, typename Vector::item32
928 , typename Vector::item33, typename Vector::item34
929 , typename Vector::item35, typename Vector::item36
930 , typename Vector::item37, typename Vector::item38
931 , typename Vector::item39, typename Vector::item40
932 , typename Vector::item41, typename Vector::item42
933 , typename Vector::item43
934 > type;
935 };
936 };
937
938 template<>
939 struct push_back_impl< aux::vector_tag<43> >
940 {
941 template< typename Vector, typename T > struct apply
942 {
943 typedef vector44<
944 typename Vector::item0, typename Vector::item1
945 , typename Vector::item2, typename Vector::item3
946 , typename Vector::item4, typename Vector::item5
947 , typename Vector::item6, typename Vector::item7
948 , typename Vector::item8, typename Vector::item9
949 , typename Vector::item10, typename Vector::item11
950 , typename Vector::item12, typename Vector::item13
951 , typename Vector::item14, typename Vector::item15
952 , typename Vector::item16, typename Vector::item17
953 , typename Vector::item18, typename Vector::item19
954 , typename Vector::item20, typename Vector::item21
955 , typename Vector::item22, typename Vector::item23
956 , typename Vector::item24, typename Vector::item25
957 , typename Vector::item26, typename Vector::item27
958 , typename Vector::item28, typename Vector::item29
959 , typename Vector::item30, typename Vector::item31
960 , typename Vector::item32, typename Vector::item33
961 , typename Vector::item34, typename Vector::item35
962 , typename Vector::item36, typename Vector::item37
963 , typename Vector::item38, typename Vector::item39
964 , typename Vector::item40, typename Vector::item41
965 , typename Vector::item42
966 ,
967 T
968 > type;
969 };
970 };
971
972 template<>
973 struct pop_back_impl< aux::vector_tag<44> >
974 {
975 template< typename Vector > struct apply
976 {
977 typedef vector43<
978 typename Vector::item0, typename Vector::item1
979 , typename Vector::item2, typename Vector::item3
980 , typename Vector::item4, typename Vector::item5
981 , typename Vector::item6, typename Vector::item7
982 , typename Vector::item8, typename Vector::item9
983 , typename Vector::item10, typename Vector::item11
984 , typename Vector::item12, typename Vector::item13
985 , typename Vector::item14, typename Vector::item15
986 , typename Vector::item16, typename Vector::item17
987 , typename Vector::item18, typename Vector::item19
988 , typename Vector::item20, typename Vector::item21
989 , typename Vector::item22, typename Vector::item23
990 , typename Vector::item24, typename Vector::item25
991 , typename Vector::item26, typename Vector::item27
992 , typename Vector::item28, typename Vector::item29
993 , typename Vector::item30, typename Vector::item31
994 , typename Vector::item32, typename Vector::item33
995 , typename Vector::item34, typename Vector::item35
996 , typename Vector::item36, typename Vector::item37
997 , typename Vector::item38, typename Vector::item39
998 , typename Vector::item40, typename Vector::item41
999 , typename Vector::item42
1000 > type;
1001 };
1002 };
1003
1004 namespace aux {
1005 template<> struct v_at_impl<44>
1006 {
1007 template< typename V_ > struct result_
1008 {
1009 typedef typename V_::item44 type;
1010 };
1011 };
1012
1013 }
1014
1015 template<>
1016 struct at_impl< aux::vector_tag<44> >
1017 {
1018 template< typename V_, typename N > struct apply
1019 {
1020 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1021 ::template result_<V_>::type type;
1022 };
1023 };
1024
1025 template<>
1026 struct front_impl< aux::vector_tag<44> >
1027 {
1028 template< typename Vector > struct apply
1029 {
1030 typedef typename Vector::item0 type;
1031 };
1032 };
1033
1034 template<>
1035 struct back_impl< aux::vector_tag<44> >
1036 {
1037 template< typename Vector > struct apply
1038 {
1039 typedef typename Vector::back type;
1040 };
1041 };
1042
1043 template<>
1044 struct empty_impl< aux::vector_tag<44> >
1045 {
1046 template< typename Vector > struct apply
1047 : false_
1048 {
1049 };
1050 };
1051
1052 template<>
1053 struct size_impl< aux::vector_tag<44> >
1054 {
1055 template< typename Vector > struct apply
1056 : long_<44>
1057 {
1058 };
1059 };
1060
1061 template<>
1062 struct O1_size_impl< aux::vector_tag<44> >
1063 : size_impl< aux::vector_tag<44> >
1064 {
1065 };
1066
1067 template<>
1068 struct clear_impl< aux::vector_tag<44> >
1069 {
1070 template< typename Vector > struct apply
1071 {
1072 typedef vector0<> type;
1073 };
1074 };
1075
1076 template<
1077 typename T0, typename T1, typename T2, typename T3, typename T4
1078 , typename T5, typename T6, typename T7, typename T8, typename T9
1079 , typename T10, typename T11, typename T12, typename T13, typename T14
1080 , typename T15, typename T16, typename T17, typename T18, typename T19
1081 , typename T20, typename T21, typename T22, typename T23, typename T24
1082 , typename T25, typename T26, typename T27, typename T28, typename T29
1083 , typename T30, typename T31, typename T32, typename T33, typename T34
1084 , typename T35, typename T36, typename T37, typename T38, typename T39
1085 , typename T40, typename T41, typename T42, typename T43, typename T44
1086 >
1087 struct vector45
1088 {
1089 typedef aux::vector_tag<45> tag;
1090 typedef vector45 type;
1091 typedef T0 item0;
1092 typedef T1 item1;
1093 typedef T2 item2;
1094 typedef T3 item3;
1095 typedef T4 item4;
1096 typedef T5 item5;
1097 typedef T6 item6;
1098 typedef T7 item7;
1099 typedef T8 item8;
1100 typedef T9 item9;
1101 typedef T10 item10;
1102 typedef T11 item11;
1103 typedef T12 item12;
1104 typedef T13 item13;
1105 typedef T14 item14;
1106 typedef T15 item15;
1107 typedef T16 item16;
1108 typedef T17 item17;
1109 typedef T18 item18;
1110 typedef T19 item19;
1111 typedef T20 item20;
1112 typedef T21 item21;
1113 typedef T22 item22;
1114 typedef T23 item23;
1115 typedef T24 item24;
1116 typedef T25 item25;
1117 typedef T26 item26;
1118 typedef T27 item27;
1119 typedef T28 item28;
1120 typedef T29 item29;
1121 typedef T30 item30;
1122 typedef T31 item31;
1123 typedef T32 item32;
1124 typedef T33 item33;
1125 typedef T34 item34;
1126 typedef T35 item35;
1127 typedef T36 item36;
1128 typedef T37 item37;
1129 typedef T38 item38;
1130 typedef T39 item39;
1131 typedef T40 item40;
1132 typedef T41 item41;
1133 typedef T42 item42;
1134 typedef T43 item43;
1135 typedef T44 item44;
1136
1137
1138 typedef void_ item45;
1139 typedef T44 back;
1140 typedef v_iter< type,0 > begin;
1141 typedef v_iter< type,45 > end;
1142 };
1143
1144 template<>
1145 struct push_front_impl< aux::vector_tag<44> >
1146 {
1147 template< typename Vector, typename T > struct apply
1148 {
1149 typedef vector45<
1150 T
1151 ,
1152 typename Vector::item0, typename Vector::item1
1153 , typename Vector::item2, typename Vector::item3
1154 , typename Vector::item4, typename Vector::item5
1155 , typename Vector::item6, typename Vector::item7
1156 , typename Vector::item8, typename Vector::item9
1157 , typename Vector::item10, typename Vector::item11
1158 , typename Vector::item12, typename Vector::item13
1159 , typename Vector::item14, typename Vector::item15
1160 , typename Vector::item16, typename Vector::item17
1161 , typename Vector::item18, typename Vector::item19
1162 , typename Vector::item20, typename Vector::item21
1163 , typename Vector::item22, typename Vector::item23
1164 , typename Vector::item24, typename Vector::item25
1165 , typename Vector::item26, typename Vector::item27
1166 , typename Vector::item28, typename Vector::item29
1167 , typename Vector::item30, typename Vector::item31
1168 , typename Vector::item32, typename Vector::item33
1169 , typename Vector::item34, typename Vector::item35
1170 , typename Vector::item36, typename Vector::item37
1171 , typename Vector::item38, typename Vector::item39
1172 , typename Vector::item40, typename Vector::item41
1173 , typename Vector::item42, typename Vector::item43
1174 > type;
1175 };
1176 };
1177
1178 template<>
1179 struct pop_front_impl< aux::vector_tag<45> >
1180 {
1181 template< typename Vector > struct apply
1182 {
1183 typedef vector44<
1184 typename Vector::item1, typename Vector::item2
1185 , typename Vector::item3, typename Vector::item4
1186 , typename Vector::item5, typename Vector::item6
1187 , typename Vector::item7, typename Vector::item8
1188 , typename Vector::item9, typename Vector::item10
1189 , typename Vector::item11, typename Vector::item12
1190 , typename Vector::item13, typename Vector::item14
1191 , typename Vector::item15, typename Vector::item16
1192 , typename Vector::item17, typename Vector::item18
1193 , typename Vector::item19, typename Vector::item20
1194 , typename Vector::item21, typename Vector::item22
1195 , typename Vector::item23, typename Vector::item24
1196 , typename Vector::item25, typename Vector::item26
1197 , typename Vector::item27, typename Vector::item28
1198 , typename Vector::item29, typename Vector::item30
1199 , typename Vector::item31, typename Vector::item32
1200 , typename Vector::item33, typename Vector::item34
1201 , typename Vector::item35, typename Vector::item36
1202 , typename Vector::item37, typename Vector::item38
1203 , typename Vector::item39, typename Vector::item40
1204 , typename Vector::item41, typename Vector::item42
1205 , typename Vector::item43, typename Vector::item44
1206 > type;
1207 };
1208 };
1209
1210 template<>
1211 struct push_back_impl< aux::vector_tag<44> >
1212 {
1213 template< typename Vector, typename T > struct apply
1214 {
1215 typedef vector45<
1216 typename Vector::item0, typename Vector::item1
1217 , typename Vector::item2, typename Vector::item3
1218 , typename Vector::item4, typename Vector::item5
1219 , typename Vector::item6, typename Vector::item7
1220 , typename Vector::item8, typename Vector::item9
1221 , typename Vector::item10, typename Vector::item11
1222 , typename Vector::item12, typename Vector::item13
1223 , typename Vector::item14, typename Vector::item15
1224 , typename Vector::item16, typename Vector::item17
1225 , typename Vector::item18, typename Vector::item19
1226 , typename Vector::item20, typename Vector::item21
1227 , typename Vector::item22, typename Vector::item23
1228 , typename Vector::item24, typename Vector::item25
1229 , typename Vector::item26, typename Vector::item27
1230 , typename Vector::item28, typename Vector::item29
1231 , typename Vector::item30, typename Vector::item31
1232 , typename Vector::item32, typename Vector::item33
1233 , typename Vector::item34, typename Vector::item35
1234 , typename Vector::item36, typename Vector::item37
1235 , typename Vector::item38, typename Vector::item39
1236 , typename Vector::item40, typename Vector::item41
1237 , typename Vector::item42, typename Vector::item43
1238 ,
1239 T
1240 > type;
1241 };
1242 };
1243
1244 template<>
1245 struct pop_back_impl< aux::vector_tag<45> >
1246 {
1247 template< typename Vector > struct apply
1248 {
1249 typedef vector44<
1250 typename Vector::item0, typename Vector::item1
1251 , typename Vector::item2, typename Vector::item3
1252 , typename Vector::item4, typename Vector::item5
1253 , typename Vector::item6, typename Vector::item7
1254 , typename Vector::item8, typename Vector::item9
1255 , typename Vector::item10, typename Vector::item11
1256 , typename Vector::item12, typename Vector::item13
1257 , typename Vector::item14, typename Vector::item15
1258 , typename Vector::item16, typename Vector::item17
1259 , typename Vector::item18, typename Vector::item19
1260 , typename Vector::item20, typename Vector::item21
1261 , typename Vector::item22, typename Vector::item23
1262 , typename Vector::item24, typename Vector::item25
1263 , typename Vector::item26, typename Vector::item27
1264 , typename Vector::item28, typename Vector::item29
1265 , typename Vector::item30, typename Vector::item31
1266 , typename Vector::item32, typename Vector::item33
1267 , typename Vector::item34, typename Vector::item35
1268 , typename Vector::item36, typename Vector::item37
1269 , typename Vector::item38, typename Vector::item39
1270 , typename Vector::item40, typename Vector::item41
1271 , typename Vector::item42, typename Vector::item43
1272 > type;
1273 };
1274 };
1275
1276 namespace aux {
1277 template<> struct v_at_impl<45>
1278 {
1279 template< typename V_ > struct result_
1280 {
1281 typedef typename V_::item45 type;
1282 };
1283 };
1284
1285 }
1286
1287 template<>
1288 struct at_impl< aux::vector_tag<45> >
1289 {
1290 template< typename V_, typename N > struct apply
1291 {
1292 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1293 ::template result_<V_>::type type;
1294 };
1295 };
1296
1297 template<>
1298 struct front_impl< aux::vector_tag<45> >
1299 {
1300 template< typename Vector > struct apply
1301 {
1302 typedef typename Vector::item0 type;
1303 };
1304 };
1305
1306 template<>
1307 struct back_impl< aux::vector_tag<45> >
1308 {
1309 template< typename Vector > struct apply
1310 {
1311 typedef typename Vector::back type;
1312 };
1313 };
1314
1315 template<>
1316 struct empty_impl< aux::vector_tag<45> >
1317 {
1318 template< typename Vector > struct apply
1319 : false_
1320 {
1321 };
1322 };
1323
1324 template<>
1325 struct size_impl< aux::vector_tag<45> >
1326 {
1327 template< typename Vector > struct apply
1328 : long_<45>
1329 {
1330 };
1331 };
1332
1333 template<>
1334 struct O1_size_impl< aux::vector_tag<45> >
1335 : size_impl< aux::vector_tag<45> >
1336 {
1337 };
1338
1339 template<>
1340 struct clear_impl< aux::vector_tag<45> >
1341 {
1342 template< typename Vector > struct apply
1343 {
1344 typedef vector0<> type;
1345 };
1346 };
1347
1348 template<
1349 typename T0, typename T1, typename T2, typename T3, typename T4
1350 , typename T5, typename T6, typename T7, typename T8, typename T9
1351 , typename T10, typename T11, typename T12, typename T13, typename T14
1352 , typename T15, typename T16, typename T17, typename T18, typename T19
1353 , typename T20, typename T21, typename T22, typename T23, typename T24
1354 , typename T25, typename T26, typename T27, typename T28, typename T29
1355 , typename T30, typename T31, typename T32, typename T33, typename T34
1356 , typename T35, typename T36, typename T37, typename T38, typename T39
1357 , typename T40, typename T41, typename T42, typename T43, typename T44
1358 , typename T45
1359 >
1360 struct vector46
1361 {
1362 typedef aux::vector_tag<46> tag;
1363 typedef vector46 type;
1364 typedef T0 item0;
1365 typedef T1 item1;
1366 typedef T2 item2;
1367 typedef T3 item3;
1368 typedef T4 item4;
1369 typedef T5 item5;
1370 typedef T6 item6;
1371 typedef T7 item7;
1372 typedef T8 item8;
1373 typedef T9 item9;
1374 typedef T10 item10;
1375 typedef T11 item11;
1376 typedef T12 item12;
1377 typedef T13 item13;
1378 typedef T14 item14;
1379 typedef T15 item15;
1380 typedef T16 item16;
1381 typedef T17 item17;
1382 typedef T18 item18;
1383 typedef T19 item19;
1384 typedef T20 item20;
1385 typedef T21 item21;
1386 typedef T22 item22;
1387 typedef T23 item23;
1388 typedef T24 item24;
1389 typedef T25 item25;
1390 typedef T26 item26;
1391 typedef T27 item27;
1392 typedef T28 item28;
1393 typedef T29 item29;
1394 typedef T30 item30;
1395 typedef T31 item31;
1396 typedef T32 item32;
1397 typedef T33 item33;
1398 typedef T34 item34;
1399 typedef T35 item35;
1400 typedef T36 item36;
1401 typedef T37 item37;
1402 typedef T38 item38;
1403 typedef T39 item39;
1404 typedef T40 item40;
1405 typedef T41 item41;
1406 typedef T42 item42;
1407 typedef T43 item43;
1408 typedef T44 item44;
1409 typedef T45 item45;
1410
1411
1412 typedef void_ item46;
1413 typedef T45 back;
1414 typedef v_iter< type,0 > begin;
1415 typedef v_iter< type,46 > end;
1416 };
1417
1418 template<>
1419 struct push_front_impl< aux::vector_tag<45> >
1420 {
1421 template< typename Vector, typename T > struct apply
1422 {
1423 typedef vector46<
1424 T
1425 ,
1426 typename Vector::item0, typename Vector::item1
1427 , typename Vector::item2, typename Vector::item3
1428 , typename Vector::item4, typename Vector::item5
1429 , typename Vector::item6, typename Vector::item7
1430 , typename Vector::item8, typename Vector::item9
1431 , typename Vector::item10, typename Vector::item11
1432 , typename Vector::item12, typename Vector::item13
1433 , typename Vector::item14, typename Vector::item15
1434 , typename Vector::item16, typename Vector::item17
1435 , typename Vector::item18, typename Vector::item19
1436 , typename Vector::item20, typename Vector::item21
1437 , typename Vector::item22, typename Vector::item23
1438 , typename Vector::item24, typename Vector::item25
1439 , typename Vector::item26, typename Vector::item27
1440 , typename Vector::item28, typename Vector::item29
1441 , typename Vector::item30, typename Vector::item31
1442 , typename Vector::item32, typename Vector::item33
1443 , typename Vector::item34, typename Vector::item35
1444 , typename Vector::item36, typename Vector::item37
1445 , typename Vector::item38, typename Vector::item39
1446 , typename Vector::item40, typename Vector::item41
1447 , typename Vector::item42, typename Vector::item43
1448 , typename Vector::item44
1449 > type;
1450 };
1451 };
1452
1453 template<>
1454 struct pop_front_impl< aux::vector_tag<46> >
1455 {
1456 template< typename Vector > struct apply
1457 {
1458 typedef vector45<
1459 typename Vector::item1, typename Vector::item2
1460 , typename Vector::item3, typename Vector::item4
1461 , typename Vector::item5, typename Vector::item6
1462 , typename Vector::item7, typename Vector::item8
1463 , typename Vector::item9, typename Vector::item10
1464 , typename Vector::item11, typename Vector::item12
1465 , typename Vector::item13, typename Vector::item14
1466 , typename Vector::item15, typename Vector::item16
1467 , typename Vector::item17, typename Vector::item18
1468 , typename Vector::item19, typename Vector::item20
1469 , typename Vector::item21, typename Vector::item22
1470 , typename Vector::item23, typename Vector::item24
1471 , typename Vector::item25, typename Vector::item26
1472 , typename Vector::item27, typename Vector::item28
1473 , typename Vector::item29, typename Vector::item30
1474 , typename Vector::item31, typename Vector::item32
1475 , typename Vector::item33, typename Vector::item34
1476 , typename Vector::item35, typename Vector::item36
1477 , typename Vector::item37, typename Vector::item38
1478 , typename Vector::item39, typename Vector::item40
1479 , typename Vector::item41, typename Vector::item42
1480 , typename Vector::item43, typename Vector::item44
1481 , typename Vector::item45
1482 > type;
1483 };
1484 };
1485
1486 template<>
1487 struct push_back_impl< aux::vector_tag<45> >
1488 {
1489 template< typename Vector, typename T > struct apply
1490 {
1491 typedef vector46<
1492 typename Vector::item0, typename Vector::item1
1493 , typename Vector::item2, typename Vector::item3
1494 , typename Vector::item4, typename Vector::item5
1495 , typename Vector::item6, typename Vector::item7
1496 , typename Vector::item8, typename Vector::item9
1497 , typename Vector::item10, typename Vector::item11
1498 , typename Vector::item12, typename Vector::item13
1499 , typename Vector::item14, typename Vector::item15
1500 , typename Vector::item16, typename Vector::item17
1501 , typename Vector::item18, typename Vector::item19
1502 , typename Vector::item20, typename Vector::item21
1503 , typename Vector::item22, typename Vector::item23
1504 , typename Vector::item24, typename Vector::item25
1505 , typename Vector::item26, typename Vector::item27
1506 , typename Vector::item28, typename Vector::item29
1507 , typename Vector::item30, typename Vector::item31
1508 , typename Vector::item32, typename Vector::item33
1509 , typename Vector::item34, typename Vector::item35
1510 , typename Vector::item36, typename Vector::item37
1511 , typename Vector::item38, typename Vector::item39
1512 , typename Vector::item40, typename Vector::item41
1513 , typename Vector::item42, typename Vector::item43
1514 , typename Vector::item44
1515 ,
1516 T
1517 > type;
1518 };
1519 };
1520
1521 template<>
1522 struct pop_back_impl< aux::vector_tag<46> >
1523 {
1524 template< typename Vector > struct apply
1525 {
1526 typedef vector45<
1527 typename Vector::item0, typename Vector::item1
1528 , typename Vector::item2, typename Vector::item3
1529 , typename Vector::item4, typename Vector::item5
1530 , typename Vector::item6, typename Vector::item7
1531 , typename Vector::item8, typename Vector::item9
1532 , typename Vector::item10, typename Vector::item11
1533 , typename Vector::item12, typename Vector::item13
1534 , typename Vector::item14, typename Vector::item15
1535 , typename Vector::item16, typename Vector::item17
1536 , typename Vector::item18, typename Vector::item19
1537 , typename Vector::item20, typename Vector::item21
1538 , typename Vector::item22, typename Vector::item23
1539 , typename Vector::item24, typename Vector::item25
1540 , typename Vector::item26, typename Vector::item27
1541 , typename Vector::item28, typename Vector::item29
1542 , typename Vector::item30, typename Vector::item31
1543 , typename Vector::item32, typename Vector::item33
1544 , typename Vector::item34, typename Vector::item35
1545 , typename Vector::item36, typename Vector::item37
1546 , typename Vector::item38, typename Vector::item39
1547 , typename Vector::item40, typename Vector::item41
1548 , typename Vector::item42, typename Vector::item43
1549 , typename Vector::item44
1550 > type;
1551 };
1552 };
1553
1554 namespace aux {
1555 template<> struct v_at_impl<46>
1556 {
1557 template< typename V_ > struct result_
1558 {
1559 typedef typename V_::item46 type;
1560 };
1561 };
1562
1563 }
1564
1565 template<>
1566 struct at_impl< aux::vector_tag<46> >
1567 {
1568 template< typename V_, typename N > struct apply
1569 {
1570 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1571 ::template result_<V_>::type type;
1572 };
1573 };
1574
1575 template<>
1576 struct front_impl< aux::vector_tag<46> >
1577 {
1578 template< typename Vector > struct apply
1579 {
1580 typedef typename Vector::item0 type;
1581 };
1582 };
1583
1584 template<>
1585 struct back_impl< aux::vector_tag<46> >
1586 {
1587 template< typename Vector > struct apply
1588 {
1589 typedef typename Vector::back type;
1590 };
1591 };
1592
1593 template<>
1594 struct empty_impl< aux::vector_tag<46> >
1595 {
1596 template< typename Vector > struct apply
1597 : false_
1598 {
1599 };
1600 };
1601
1602 template<>
1603 struct size_impl< aux::vector_tag<46> >
1604 {
1605 template< typename Vector > struct apply
1606 : long_<46>
1607 {
1608 };
1609 };
1610
1611 template<>
1612 struct O1_size_impl< aux::vector_tag<46> >
1613 : size_impl< aux::vector_tag<46> >
1614 {
1615 };
1616
1617 template<>
1618 struct clear_impl< aux::vector_tag<46> >
1619 {
1620 template< typename Vector > struct apply
1621 {
1622 typedef vector0<> type;
1623 };
1624 };
1625
1626 template<
1627 typename T0, typename T1, typename T2, typename T3, typename T4
1628 , typename T5, typename T6, typename T7, typename T8, typename T9
1629 , typename T10, typename T11, typename T12, typename T13, typename T14
1630 , typename T15, typename T16, typename T17, typename T18, typename T19
1631 , typename T20, typename T21, typename T22, typename T23, typename T24
1632 , typename T25, typename T26, typename T27, typename T28, typename T29
1633 , typename T30, typename T31, typename T32, typename T33, typename T34
1634 , typename T35, typename T36, typename T37, typename T38, typename T39
1635 , typename T40, typename T41, typename T42, typename T43, typename T44
1636 , typename T45, typename T46
1637 >
1638 struct vector47
1639 {
1640 typedef aux::vector_tag<47> tag;
1641 typedef vector47 type;
1642 typedef T0 item0;
1643 typedef T1 item1;
1644 typedef T2 item2;
1645 typedef T3 item3;
1646 typedef T4 item4;
1647 typedef T5 item5;
1648 typedef T6 item6;
1649 typedef T7 item7;
1650 typedef T8 item8;
1651 typedef T9 item9;
1652 typedef T10 item10;
1653 typedef T11 item11;
1654 typedef T12 item12;
1655 typedef T13 item13;
1656 typedef T14 item14;
1657 typedef T15 item15;
1658 typedef T16 item16;
1659 typedef T17 item17;
1660 typedef T18 item18;
1661 typedef T19 item19;
1662 typedef T20 item20;
1663 typedef T21 item21;
1664 typedef T22 item22;
1665 typedef T23 item23;
1666 typedef T24 item24;
1667 typedef T25 item25;
1668 typedef T26 item26;
1669 typedef T27 item27;
1670 typedef T28 item28;
1671 typedef T29 item29;
1672 typedef T30 item30;
1673 typedef T31 item31;
1674 typedef T32 item32;
1675 typedef T33 item33;
1676 typedef T34 item34;
1677 typedef T35 item35;
1678 typedef T36 item36;
1679 typedef T37 item37;
1680 typedef T38 item38;
1681 typedef T39 item39;
1682 typedef T40 item40;
1683 typedef T41 item41;
1684 typedef T42 item42;
1685 typedef T43 item43;
1686 typedef T44 item44;
1687 typedef T45 item45;
1688 typedef T46 item46;
1689
1690
1691 typedef void_ item47;
1692 typedef T46 back;
1693 typedef v_iter< type,0 > begin;
1694 typedef v_iter< type,47 > end;
1695 };
1696
1697 template<>
1698 struct push_front_impl< aux::vector_tag<46> >
1699 {
1700 template< typename Vector, typename T > struct apply
1701 {
1702 typedef vector47<
1703 T
1704 ,
1705 typename Vector::item0, typename Vector::item1
1706 , typename Vector::item2, typename Vector::item3
1707 , typename Vector::item4, typename Vector::item5
1708 , typename Vector::item6, typename Vector::item7
1709 , typename Vector::item8, typename Vector::item9
1710 , typename Vector::item10, typename Vector::item11
1711 , typename Vector::item12, typename Vector::item13
1712 , typename Vector::item14, typename Vector::item15
1713 , typename Vector::item16, typename Vector::item17
1714 , typename Vector::item18, typename Vector::item19
1715 , typename Vector::item20, typename Vector::item21
1716 , typename Vector::item22, typename Vector::item23
1717 , typename Vector::item24, typename Vector::item25
1718 , typename Vector::item26, typename Vector::item27
1719 , typename Vector::item28, typename Vector::item29
1720 , typename Vector::item30, typename Vector::item31
1721 , typename Vector::item32, typename Vector::item33
1722 , typename Vector::item34, typename Vector::item35
1723 , typename Vector::item36, typename Vector::item37
1724 , typename Vector::item38, typename Vector::item39
1725 , typename Vector::item40, typename Vector::item41
1726 , typename Vector::item42, typename Vector::item43
1727 , typename Vector::item44, typename Vector::item45
1728 > type;
1729 };
1730 };
1731
1732 template<>
1733 struct pop_front_impl< aux::vector_tag<47> >
1734 {
1735 template< typename Vector > struct apply
1736 {
1737 typedef vector46<
1738 typename Vector::item1, typename Vector::item2
1739 , typename Vector::item3, typename Vector::item4
1740 , typename Vector::item5, typename Vector::item6
1741 , typename Vector::item7, typename Vector::item8
1742 , typename Vector::item9, typename Vector::item10
1743 , typename Vector::item11, typename Vector::item12
1744 , typename Vector::item13, typename Vector::item14
1745 , typename Vector::item15, typename Vector::item16
1746 , typename Vector::item17, typename Vector::item18
1747 , typename Vector::item19, typename Vector::item20
1748 , typename Vector::item21, typename Vector::item22
1749 , typename Vector::item23, typename Vector::item24
1750 , typename Vector::item25, typename Vector::item26
1751 , typename Vector::item27, typename Vector::item28
1752 , typename Vector::item29, typename Vector::item30
1753 , typename Vector::item31, typename Vector::item32
1754 , typename Vector::item33, typename Vector::item34
1755 , typename Vector::item35, typename Vector::item36
1756 , typename Vector::item37, typename Vector::item38
1757 , typename Vector::item39, typename Vector::item40
1758 , typename Vector::item41, typename Vector::item42
1759 , typename Vector::item43, typename Vector::item44
1760 , typename Vector::item45, typename Vector::item46
1761 > type;
1762 };
1763 };
1764
1765 template<>
1766 struct push_back_impl< aux::vector_tag<46> >
1767 {
1768 template< typename Vector, typename T > struct apply
1769 {
1770 typedef vector47<
1771 typename Vector::item0, typename Vector::item1
1772 , typename Vector::item2, typename Vector::item3
1773 , typename Vector::item4, typename Vector::item5
1774 , typename Vector::item6, typename Vector::item7
1775 , typename Vector::item8, typename Vector::item9
1776 , typename Vector::item10, typename Vector::item11
1777 , typename Vector::item12, typename Vector::item13
1778 , typename Vector::item14, typename Vector::item15
1779 , typename Vector::item16, typename Vector::item17
1780 , typename Vector::item18, typename Vector::item19
1781 , typename Vector::item20, typename Vector::item21
1782 , typename Vector::item22, typename Vector::item23
1783 , typename Vector::item24, typename Vector::item25
1784 , typename Vector::item26, typename Vector::item27
1785 , typename Vector::item28, typename Vector::item29
1786 , typename Vector::item30, typename Vector::item31
1787 , typename Vector::item32, typename Vector::item33
1788 , typename Vector::item34, typename Vector::item35
1789 , typename Vector::item36, typename Vector::item37
1790 , typename Vector::item38, typename Vector::item39
1791 , typename Vector::item40, typename Vector::item41
1792 , typename Vector::item42, typename Vector::item43
1793 , typename Vector::item44, typename Vector::item45
1794 ,
1795 T
1796 > type;
1797 };
1798 };
1799
1800 template<>
1801 struct pop_back_impl< aux::vector_tag<47> >
1802 {
1803 template< typename Vector > struct apply
1804 {
1805 typedef vector46<
1806 typename Vector::item0, typename Vector::item1
1807 , typename Vector::item2, typename Vector::item3
1808 , typename Vector::item4, typename Vector::item5
1809 , typename Vector::item6, typename Vector::item7
1810 , typename Vector::item8, typename Vector::item9
1811 , typename Vector::item10, typename Vector::item11
1812 , typename Vector::item12, typename Vector::item13
1813 , typename Vector::item14, typename Vector::item15
1814 , typename Vector::item16, typename Vector::item17
1815 , typename Vector::item18, typename Vector::item19
1816 , typename Vector::item20, typename Vector::item21
1817 , typename Vector::item22, typename Vector::item23
1818 , typename Vector::item24, typename Vector::item25
1819 , typename Vector::item26, typename Vector::item27
1820 , typename Vector::item28, typename Vector::item29
1821 , typename Vector::item30, typename Vector::item31
1822 , typename Vector::item32, typename Vector::item33
1823 , typename Vector::item34, typename Vector::item35
1824 , typename Vector::item36, typename Vector::item37
1825 , typename Vector::item38, typename Vector::item39
1826 , typename Vector::item40, typename Vector::item41
1827 , typename Vector::item42, typename Vector::item43
1828 , typename Vector::item44, typename Vector::item45
1829 > type;
1830 };
1831 };
1832
1833 namespace aux {
1834 template<> struct v_at_impl<47>
1835 {
1836 template< typename V_ > struct result_
1837 {
1838 typedef typename V_::item47 type;
1839 };
1840 };
1841
1842 }
1843
1844 template<>
1845 struct at_impl< aux::vector_tag<47> >
1846 {
1847 template< typename V_, typename N > struct apply
1848 {
1849 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1850 ::template result_<V_>::type type;
1851 };
1852 };
1853
1854 template<>
1855 struct front_impl< aux::vector_tag<47> >
1856 {
1857 template< typename Vector > struct apply
1858 {
1859 typedef typename Vector::item0 type;
1860 };
1861 };
1862
1863 template<>
1864 struct back_impl< aux::vector_tag<47> >
1865 {
1866 template< typename Vector > struct apply
1867 {
1868 typedef typename Vector::back type;
1869 };
1870 };
1871
1872 template<>
1873 struct empty_impl< aux::vector_tag<47> >
1874 {
1875 template< typename Vector > struct apply
1876 : false_
1877 {
1878 };
1879 };
1880
1881 template<>
1882 struct size_impl< aux::vector_tag<47> >
1883 {
1884 template< typename Vector > struct apply
1885 : long_<47>
1886 {
1887 };
1888 };
1889
1890 template<>
1891 struct O1_size_impl< aux::vector_tag<47> >
1892 : size_impl< aux::vector_tag<47> >
1893 {
1894 };
1895
1896 template<>
1897 struct clear_impl< aux::vector_tag<47> >
1898 {
1899 template< typename Vector > struct apply
1900 {
1901 typedef vector0<> type;
1902 };
1903 };
1904
1905 template<
1906 typename T0, typename T1, typename T2, typename T3, typename T4
1907 , typename T5, typename T6, typename T7, typename T8, typename T9
1908 , typename T10, typename T11, typename T12, typename T13, typename T14
1909 , typename T15, typename T16, typename T17, typename T18, typename T19
1910 , typename T20, typename T21, typename T22, typename T23, typename T24
1911 , typename T25, typename T26, typename T27, typename T28, typename T29
1912 , typename T30, typename T31, typename T32, typename T33, typename T34
1913 , typename T35, typename T36, typename T37, typename T38, typename T39
1914 , typename T40, typename T41, typename T42, typename T43, typename T44
1915 , typename T45, typename T46, typename T47
1916 >
1917 struct vector48
1918 {
1919 typedef aux::vector_tag<48> tag;
1920 typedef vector48 type;
1921 typedef T0 item0;
1922 typedef T1 item1;
1923 typedef T2 item2;
1924 typedef T3 item3;
1925 typedef T4 item4;
1926 typedef T5 item5;
1927 typedef T6 item6;
1928 typedef T7 item7;
1929 typedef T8 item8;
1930 typedef T9 item9;
1931 typedef T10 item10;
1932 typedef T11 item11;
1933 typedef T12 item12;
1934 typedef T13 item13;
1935 typedef T14 item14;
1936 typedef T15 item15;
1937 typedef T16 item16;
1938 typedef T17 item17;
1939 typedef T18 item18;
1940 typedef T19 item19;
1941 typedef T20 item20;
1942 typedef T21 item21;
1943 typedef T22 item22;
1944 typedef T23 item23;
1945 typedef T24 item24;
1946 typedef T25 item25;
1947 typedef T26 item26;
1948 typedef T27 item27;
1949 typedef T28 item28;
1950 typedef T29 item29;
1951 typedef T30 item30;
1952 typedef T31 item31;
1953 typedef T32 item32;
1954 typedef T33 item33;
1955 typedef T34 item34;
1956 typedef T35 item35;
1957 typedef T36 item36;
1958 typedef T37 item37;
1959 typedef T38 item38;
1960 typedef T39 item39;
1961 typedef T40 item40;
1962 typedef T41 item41;
1963 typedef T42 item42;
1964 typedef T43 item43;
1965 typedef T44 item44;
1966 typedef T45 item45;
1967 typedef T46 item46;
1968 typedef T47 item47;
1969
1970
1971 typedef void_ item48;
1972 typedef T47 back;
1973 typedef v_iter< type,0 > begin;
1974 typedef v_iter< type,48 > end;
1975 };
1976
1977 template<>
1978 struct push_front_impl< aux::vector_tag<47> >
1979 {
1980 template< typename Vector, typename T > struct apply
1981 {
1982 typedef vector48<
1983 T
1984 ,
1985 typename Vector::item0, typename Vector::item1
1986 , typename Vector::item2, typename Vector::item3
1987 , typename Vector::item4, typename Vector::item5
1988 , typename Vector::item6, typename Vector::item7
1989 , typename Vector::item8, typename Vector::item9
1990 , typename Vector::item10, typename Vector::item11
1991 , typename Vector::item12, typename Vector::item13
1992 , typename Vector::item14, typename Vector::item15
1993 , typename Vector::item16, typename Vector::item17
1994 , typename Vector::item18, typename Vector::item19
1995 , typename Vector::item20, typename Vector::item21
1996 , typename Vector::item22, typename Vector::item23
1997 , typename Vector::item24, typename Vector::item25
1998 , typename Vector::item26, typename Vector::item27
1999 , typename Vector::item28, typename Vector::item29
2000 , typename Vector::item30, typename Vector::item31
2001 , typename Vector::item32, typename Vector::item33
2002 , typename Vector::item34, typename Vector::item35
2003 , typename Vector::item36, typename Vector::item37
2004 , typename Vector::item38, typename Vector::item39
2005 , typename Vector::item40, typename Vector::item41
2006 , typename Vector::item42, typename Vector::item43
2007 , typename Vector::item44, typename Vector::item45
2008 , typename Vector::item46
2009 > type;
2010 };
2011 };
2012
2013 template<>
2014 struct pop_front_impl< aux::vector_tag<48> >
2015 {
2016 template< typename Vector > struct apply
2017 {
2018 typedef vector47<
2019 typename Vector::item1, typename Vector::item2
2020 , typename Vector::item3, typename Vector::item4
2021 , typename Vector::item5, typename Vector::item6
2022 , typename Vector::item7, typename Vector::item8
2023 , typename Vector::item9, typename Vector::item10
2024 , typename Vector::item11, typename Vector::item12
2025 , typename Vector::item13, typename Vector::item14
2026 , typename Vector::item15, typename Vector::item16
2027 , typename Vector::item17, typename Vector::item18
2028 , typename Vector::item19, typename Vector::item20
2029 , typename Vector::item21, typename Vector::item22
2030 , typename Vector::item23, typename Vector::item24
2031 , typename Vector::item25, typename Vector::item26
2032 , typename Vector::item27, typename Vector::item28
2033 , typename Vector::item29, typename Vector::item30
2034 , typename Vector::item31, typename Vector::item32
2035 , typename Vector::item33, typename Vector::item34
2036 , typename Vector::item35, typename Vector::item36
2037 , typename Vector::item37, typename Vector::item38
2038 , typename Vector::item39, typename Vector::item40
2039 , typename Vector::item41, typename Vector::item42
2040 , typename Vector::item43, typename Vector::item44
2041 , typename Vector::item45, typename Vector::item46
2042 , typename Vector::item47
2043 > type;
2044 };
2045 };
2046
2047 template<>
2048 struct push_back_impl< aux::vector_tag<47> >
2049 {
2050 template< typename Vector, typename T > struct apply
2051 {
2052 typedef vector48<
2053 typename Vector::item0, typename Vector::item1
2054 , typename Vector::item2, typename Vector::item3
2055 , typename Vector::item4, typename Vector::item5
2056 , typename Vector::item6, typename Vector::item7
2057 , typename Vector::item8, typename Vector::item9
2058 , typename Vector::item10, typename Vector::item11
2059 , typename Vector::item12, typename Vector::item13
2060 , typename Vector::item14, typename Vector::item15
2061 , typename Vector::item16, typename Vector::item17
2062 , typename Vector::item18, typename Vector::item19
2063 , typename Vector::item20, typename Vector::item21
2064 , typename Vector::item22, typename Vector::item23
2065 , typename Vector::item24, typename Vector::item25
2066 , typename Vector::item26, typename Vector::item27
2067 , typename Vector::item28, typename Vector::item29
2068 , typename Vector::item30, typename Vector::item31
2069 , typename Vector::item32, typename Vector::item33
2070 , typename Vector::item34, typename Vector::item35
2071 , typename Vector::item36, typename Vector::item37
2072 , typename Vector::item38, typename Vector::item39
2073 , typename Vector::item40, typename Vector::item41
2074 , typename Vector::item42, typename Vector::item43
2075 , typename Vector::item44, typename Vector::item45
2076 , typename Vector::item46
2077 ,
2078 T
2079 > type;
2080 };
2081 };
2082
2083 template<>
2084 struct pop_back_impl< aux::vector_tag<48> >
2085 {
2086 template< typename Vector > struct apply
2087 {
2088 typedef vector47<
2089 typename Vector::item0, typename Vector::item1
2090 , typename Vector::item2, typename Vector::item3
2091 , typename Vector::item4, typename Vector::item5
2092 , typename Vector::item6, typename Vector::item7
2093 , typename Vector::item8, typename Vector::item9
2094 , typename Vector::item10, typename Vector::item11
2095 , typename Vector::item12, typename Vector::item13
2096 , typename Vector::item14, typename Vector::item15
2097 , typename Vector::item16, typename Vector::item17
2098 , typename Vector::item18, typename Vector::item19
2099 , typename Vector::item20, typename Vector::item21
2100 , typename Vector::item22, typename Vector::item23
2101 , typename Vector::item24, typename Vector::item25
2102 , typename Vector::item26, typename Vector::item27
2103 , typename Vector::item28, typename Vector::item29
2104 , typename Vector::item30, typename Vector::item31
2105 , typename Vector::item32, typename Vector::item33
2106 , typename Vector::item34, typename Vector::item35
2107 , typename Vector::item36, typename Vector::item37
2108 , typename Vector::item38, typename Vector::item39
2109 , typename Vector::item40, typename Vector::item41
2110 , typename Vector::item42, typename Vector::item43
2111 , typename Vector::item44, typename Vector::item45
2112 , typename Vector::item46
2113 > type;
2114 };
2115 };
2116
2117 namespace aux {
2118 template<> struct v_at_impl<48>
2119 {
2120 template< typename V_ > struct result_
2121 {
2122 typedef typename V_::item48 type;
2123 };
2124 };
2125
2126 }
2127
2128 template<>
2129 struct at_impl< aux::vector_tag<48> >
2130 {
2131 template< typename V_, typename N > struct apply
2132 {
2133 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
2134 ::template result_<V_>::type type;
2135 };
2136 };
2137
2138 template<>
2139 struct front_impl< aux::vector_tag<48> >
2140 {
2141 template< typename Vector > struct apply
2142 {
2143 typedef typename Vector::item0 type;
2144 };
2145 };
2146
2147 template<>
2148 struct back_impl< aux::vector_tag<48> >
2149 {
2150 template< typename Vector > struct apply
2151 {
2152 typedef typename Vector::back type;
2153 };
2154 };
2155
2156 template<>
2157 struct empty_impl< aux::vector_tag<48> >
2158 {
2159 template< typename Vector > struct apply
2160 : false_
2161 {
2162 };
2163 };
2164
2165 template<>
2166 struct size_impl< aux::vector_tag<48> >
2167 {
2168 template< typename Vector > struct apply
2169 : long_<48>
2170 {
2171 };
2172 };
2173
2174 template<>
2175 struct O1_size_impl< aux::vector_tag<48> >
2176 : size_impl< aux::vector_tag<48> >
2177 {
2178 };
2179
2180 template<>
2181 struct clear_impl< aux::vector_tag<48> >
2182 {
2183 template< typename Vector > struct apply
2184 {
2185 typedef vector0<> type;
2186 };
2187 };
2188
2189 template<
2190 typename T0, typename T1, typename T2, typename T3, typename T4
2191 , typename T5, typename T6, typename T7, typename T8, typename T9
2192 , typename T10, typename T11, typename T12, typename T13, typename T14
2193 , typename T15, typename T16, typename T17, typename T18, typename T19
2194 , typename T20, typename T21, typename T22, typename T23, typename T24
2195 , typename T25, typename T26, typename T27, typename T28, typename T29
2196 , typename T30, typename T31, typename T32, typename T33, typename T34
2197 , typename T35, typename T36, typename T37, typename T38, typename T39
2198 , typename T40, typename T41, typename T42, typename T43, typename T44
2199 , typename T45, typename T46, typename T47, typename T48
2200 >
2201 struct vector49
2202 {
2203 typedef aux::vector_tag<49> tag;
2204 typedef vector49 type;
2205 typedef T0 item0;
2206 typedef T1 item1;
2207 typedef T2 item2;
2208 typedef T3 item3;
2209 typedef T4 item4;
2210 typedef T5 item5;
2211 typedef T6 item6;
2212 typedef T7 item7;
2213 typedef T8 item8;
2214 typedef T9 item9;
2215 typedef T10 item10;
2216 typedef T11 item11;
2217 typedef T12 item12;
2218 typedef T13 item13;
2219 typedef T14 item14;
2220 typedef T15 item15;
2221 typedef T16 item16;
2222 typedef T17 item17;
2223 typedef T18 item18;
2224 typedef T19 item19;
2225 typedef T20 item20;
2226 typedef T21 item21;
2227 typedef T22 item22;
2228 typedef T23 item23;
2229 typedef T24 item24;
2230 typedef T25 item25;
2231 typedef T26 item26;
2232 typedef T27 item27;
2233 typedef T28 item28;
2234 typedef T29 item29;
2235 typedef T30 item30;
2236 typedef T31 item31;
2237 typedef T32 item32;
2238 typedef T33 item33;
2239 typedef T34 item34;
2240 typedef T35 item35;
2241 typedef T36 item36;
2242 typedef T37 item37;
2243 typedef T38 item38;
2244 typedef T39 item39;
2245 typedef T40 item40;
2246 typedef T41 item41;
2247 typedef T42 item42;
2248 typedef T43 item43;
2249 typedef T44 item44;
2250 typedef T45 item45;
2251 typedef T46 item46;
2252 typedef T47 item47;
2253 typedef T48 item48;
2254
2255
2256 typedef void_ item49;
2257 typedef T48 back;
2258 typedef v_iter< type,0 > begin;
2259 typedef v_iter< type,49 > end;
2260 };
2261
2262 template<>
2263 struct push_front_impl< aux::vector_tag<48> >
2264 {
2265 template< typename Vector, typename T > struct apply
2266 {
2267 typedef vector49<
2268 T
2269 ,
2270 typename Vector::item0, typename Vector::item1
2271 , typename Vector::item2, typename Vector::item3
2272 , typename Vector::item4, typename Vector::item5
2273 , typename Vector::item6, typename Vector::item7
2274 , typename Vector::item8, typename Vector::item9
2275 , typename Vector::item10, typename Vector::item11
2276 , typename Vector::item12, typename Vector::item13
2277 , typename Vector::item14, typename Vector::item15
2278 , typename Vector::item16, typename Vector::item17
2279 , typename Vector::item18, typename Vector::item19
2280 , typename Vector::item20, typename Vector::item21
2281 , typename Vector::item22, typename Vector::item23
2282 , typename Vector::item24, typename Vector::item25
2283 , typename Vector::item26, typename Vector::item27
2284 , typename Vector::item28, typename Vector::item29
2285 , typename Vector::item30, typename Vector::item31
2286 , typename Vector::item32, typename Vector::item33
2287 , typename Vector::item34, typename Vector::item35
2288 , typename Vector::item36, typename Vector::item37
2289 , typename Vector::item38, typename Vector::item39
2290 , typename Vector::item40, typename Vector::item41
2291 , typename Vector::item42, typename Vector::item43
2292 , typename Vector::item44, typename Vector::item45
2293 , typename Vector::item46, typename Vector::item47
2294 > type;
2295 };
2296 };
2297
2298 template<>
2299 struct pop_front_impl< aux::vector_tag<49> >
2300 {
2301 template< typename Vector > struct apply
2302 {
2303 typedef vector48<
2304 typename Vector::item1, typename Vector::item2
2305 , typename Vector::item3, typename Vector::item4
2306 , typename Vector::item5, typename Vector::item6
2307 , typename Vector::item7, typename Vector::item8
2308 , typename Vector::item9, typename Vector::item10
2309 , typename Vector::item11, typename Vector::item12
2310 , typename Vector::item13, typename Vector::item14
2311 , typename Vector::item15, typename Vector::item16
2312 , typename Vector::item17, typename Vector::item18
2313 , typename Vector::item19, typename Vector::item20
2314 , typename Vector::item21, typename Vector::item22
2315 , typename Vector::item23, typename Vector::item24
2316 , typename Vector::item25, typename Vector::item26
2317 , typename Vector::item27, typename Vector::item28
2318 , typename Vector::item29, typename Vector::item30
2319 , typename Vector::item31, typename Vector::item32
2320 , typename Vector::item33, typename Vector::item34
2321 , typename Vector::item35, typename Vector::item36
2322 , typename Vector::item37, typename Vector::item38
2323 , typename Vector::item39, typename Vector::item40
2324 , typename Vector::item41, typename Vector::item42
2325 , typename Vector::item43, typename Vector::item44
2326 , typename Vector::item45, typename Vector::item46
2327 , typename Vector::item47, typename Vector::item48
2328 > type;
2329 };
2330 };
2331
2332 template<>
2333 struct push_back_impl< aux::vector_tag<48> >
2334 {
2335 template< typename Vector, typename T > struct apply
2336 {
2337 typedef vector49<
2338 typename Vector::item0, typename Vector::item1
2339 , typename Vector::item2, typename Vector::item3
2340 , typename Vector::item4, typename Vector::item5
2341 , typename Vector::item6, typename Vector::item7
2342 , typename Vector::item8, typename Vector::item9
2343 , typename Vector::item10, typename Vector::item11
2344 , typename Vector::item12, typename Vector::item13
2345 , typename Vector::item14, typename Vector::item15
2346 , typename Vector::item16, typename Vector::item17
2347 , typename Vector::item18, typename Vector::item19
2348 , typename Vector::item20, typename Vector::item21
2349 , typename Vector::item22, typename Vector::item23
2350 , typename Vector::item24, typename Vector::item25
2351 , typename Vector::item26, typename Vector::item27
2352 , typename Vector::item28, typename Vector::item29
2353 , typename Vector::item30, typename Vector::item31
2354 , typename Vector::item32, typename Vector::item33
2355 , typename Vector::item34, typename Vector::item35
2356 , typename Vector::item36, typename Vector::item37
2357 , typename Vector::item38, typename Vector::item39
2358 , typename Vector::item40, typename Vector::item41
2359 , typename Vector::item42, typename Vector::item43
2360 , typename Vector::item44, typename Vector::item45
2361 , typename Vector::item46, typename Vector::item47
2362 ,
2363 T
2364 > type;
2365 };
2366 };
2367
2368 template<>
2369 struct pop_back_impl< aux::vector_tag<49> >
2370 {
2371 template< typename Vector > struct apply
2372 {
2373 typedef vector48<
2374 typename Vector::item0, typename Vector::item1
2375 , typename Vector::item2, typename Vector::item3
2376 , typename Vector::item4, typename Vector::item5
2377 , typename Vector::item6, typename Vector::item7
2378 , typename Vector::item8, typename Vector::item9
2379 , typename Vector::item10, typename Vector::item11
2380 , typename Vector::item12, typename Vector::item13
2381 , typename Vector::item14, typename Vector::item15
2382 , typename Vector::item16, typename Vector::item17
2383 , typename Vector::item18, typename Vector::item19
2384 , typename Vector::item20, typename Vector::item21
2385 , typename Vector::item22, typename Vector::item23
2386 , typename Vector::item24, typename Vector::item25
2387 , typename Vector::item26, typename Vector::item27
2388 , typename Vector::item28, typename Vector::item29
2389 , typename Vector::item30, typename Vector::item31
2390 , typename Vector::item32, typename Vector::item33
2391 , typename Vector::item34, typename Vector::item35
2392 , typename Vector::item36, typename Vector::item37
2393 , typename Vector::item38, typename Vector::item39
2394 , typename Vector::item40, typename Vector::item41
2395 , typename Vector::item42, typename Vector::item43
2396 , typename Vector::item44, typename Vector::item45
2397 , typename Vector::item46, typename Vector::item47
2398 > type;
2399 };
2400 };
2401
2402 namespace aux {
2403 template<> struct v_at_impl<49>
2404 {
2405 template< typename V_ > struct result_
2406 {
2407 typedef typename V_::item49 type;
2408 };
2409 };
2410
2411 }
2412
2413 template<>
2414 struct at_impl< aux::vector_tag<49> >
2415 {
2416 template< typename V_, typename N > struct apply
2417 {
2418 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
2419 ::template result_<V_>::type type;
2420 };
2421 };
2422
2423 template<>
2424 struct front_impl< aux::vector_tag<49> >
2425 {
2426 template< typename Vector > struct apply
2427 {
2428 typedef typename Vector::item0 type;
2429 };
2430 };
2431
2432 template<>
2433 struct back_impl< aux::vector_tag<49> >
2434 {
2435 template< typename Vector > struct apply
2436 {
2437 typedef typename Vector::back type;
2438 };
2439 };
2440
2441 template<>
2442 struct empty_impl< aux::vector_tag<49> >
2443 {
2444 template< typename Vector > struct apply
2445 : false_
2446 {
2447 };
2448 };
2449
2450 template<>
2451 struct size_impl< aux::vector_tag<49> >
2452 {
2453 template< typename Vector > struct apply
2454 : long_<49>
2455 {
2456 };
2457 };
2458
2459 template<>
2460 struct O1_size_impl< aux::vector_tag<49> >
2461 : size_impl< aux::vector_tag<49> >
2462 {
2463 };
2464
2465 template<>
2466 struct clear_impl< aux::vector_tag<49> >
2467 {
2468 template< typename Vector > struct apply
2469 {
2470 typedef vector0<> type;
2471 };
2472 };
2473
2474 template<
2475 typename T0, typename T1, typename T2, typename T3, typename T4
2476 , typename T5, typename T6, typename T7, typename T8, typename T9
2477 , typename T10, typename T11, typename T12, typename T13, typename T14
2478 , typename T15, typename T16, typename T17, typename T18, typename T19
2479 , typename T20, typename T21, typename T22, typename T23, typename T24
2480 , typename T25, typename T26, typename T27, typename T28, typename T29
2481 , typename T30, typename T31, typename T32, typename T33, typename T34
2482 , typename T35, typename T36, typename T37, typename T38, typename T39
2483 , typename T40, typename T41, typename T42, typename T43, typename T44
2484 , typename T45, typename T46, typename T47, typename T48, typename T49
2485 >
2486 struct vector50
2487 {
2488 typedef aux::vector_tag<50> tag;
2489 typedef vector50 type;
2490 typedef T0 item0;
2491 typedef T1 item1;
2492 typedef T2 item2;
2493 typedef T3 item3;
2494 typedef T4 item4;
2495 typedef T5 item5;
2496 typedef T6 item6;
2497 typedef T7 item7;
2498 typedef T8 item8;
2499 typedef T9 item9;
2500 typedef T10 item10;
2501 typedef T11 item11;
2502 typedef T12 item12;
2503 typedef T13 item13;
2504 typedef T14 item14;
2505 typedef T15 item15;
2506 typedef T16 item16;
2507 typedef T17 item17;
2508 typedef T18 item18;
2509 typedef T19 item19;
2510 typedef T20 item20;
2511 typedef T21 item21;
2512 typedef T22 item22;
2513 typedef T23 item23;
2514 typedef T24 item24;
2515 typedef T25 item25;
2516 typedef T26 item26;
2517 typedef T27 item27;
2518 typedef T28 item28;
2519 typedef T29 item29;
2520 typedef T30 item30;
2521 typedef T31 item31;
2522 typedef T32 item32;
2523 typedef T33 item33;
2524 typedef T34 item34;
2525 typedef T35 item35;
2526 typedef T36 item36;
2527 typedef T37 item37;
2528 typedef T38 item38;
2529 typedef T39 item39;
2530 typedef T40 item40;
2531 typedef T41 item41;
2532 typedef T42 item42;
2533 typedef T43 item43;
2534 typedef T44 item44;
2535 typedef T45 item45;
2536 typedef T46 item46;
2537 typedef T47 item47;
2538 typedef T48 item48;
2539 typedef T49 item49;
2540
2541
2542 typedef void_ item50;
2543 typedef T49 back;
2544 typedef v_iter< type,0 > begin;
2545 typedef v_iter< type,50 > end;
2546 };
2547
2548 template<>
2549 struct push_front_impl< aux::vector_tag<49> >
2550 {
2551 template< typename Vector, typename T > struct apply
2552 {
2553 typedef vector50<
2554 T
2555 ,
2556 typename Vector::item0, typename Vector::item1
2557 , typename Vector::item2, typename Vector::item3
2558 , typename Vector::item4, typename Vector::item5
2559 , typename Vector::item6, typename Vector::item7
2560 , typename Vector::item8, typename Vector::item9
2561 , typename Vector::item10, typename Vector::item11
2562 , typename Vector::item12, typename Vector::item13
2563 , typename Vector::item14, typename Vector::item15
2564 , typename Vector::item16, typename Vector::item17
2565 , typename Vector::item18, typename Vector::item19
2566 , typename Vector::item20, typename Vector::item21
2567 , typename Vector::item22, typename Vector::item23
2568 , typename Vector::item24, typename Vector::item25
2569 , typename Vector::item26, typename Vector::item27
2570 , typename Vector::item28, typename Vector::item29
2571 , typename Vector::item30, typename Vector::item31
2572 , typename Vector::item32, typename Vector::item33
2573 , typename Vector::item34, typename Vector::item35
2574 , typename Vector::item36, typename Vector::item37
2575 , typename Vector::item38, typename Vector::item39
2576 , typename Vector::item40, typename Vector::item41
2577 , typename Vector::item42, typename Vector::item43
2578 , typename Vector::item44, typename Vector::item45
2579 , typename Vector::item46, typename Vector::item47
2580 , typename Vector::item48
2581 > type;
2582 };
2583 };
2584
2585 template<>
2586 struct pop_front_impl< aux::vector_tag<50> >
2587 {
2588 template< typename Vector > struct apply
2589 {
2590 typedef vector49<
2591 typename Vector::item1, typename Vector::item2
2592 , typename Vector::item3, typename Vector::item4
2593 , typename Vector::item5, typename Vector::item6
2594 , typename Vector::item7, typename Vector::item8
2595 , typename Vector::item9, typename Vector::item10
2596 , typename Vector::item11, typename Vector::item12
2597 , typename Vector::item13, typename Vector::item14
2598 , typename Vector::item15, typename Vector::item16
2599 , typename Vector::item17, typename Vector::item18
2600 , typename Vector::item19, typename Vector::item20
2601 , typename Vector::item21, typename Vector::item22
2602 , typename Vector::item23, typename Vector::item24
2603 , typename Vector::item25, typename Vector::item26
2604 , typename Vector::item27, typename Vector::item28
2605 , typename Vector::item29, typename Vector::item30
2606 , typename Vector::item31, typename Vector::item32
2607 , typename Vector::item33, typename Vector::item34
2608 , typename Vector::item35, typename Vector::item36
2609 , typename Vector::item37, typename Vector::item38
2610 , typename Vector::item39, typename Vector::item40
2611 , typename Vector::item41, typename Vector::item42
2612 , typename Vector::item43, typename Vector::item44
2613 , typename Vector::item45, typename Vector::item46
2614 , typename Vector::item47, typename Vector::item48
2615 , typename Vector::item49
2616 > type;
2617 };
2618 };
2619
2620 template<>
2621 struct push_back_impl< aux::vector_tag<49> >
2622 {
2623 template< typename Vector, typename T > struct apply
2624 {
2625 typedef vector50<
2626 typename Vector::item0, typename Vector::item1
2627 , typename Vector::item2, typename Vector::item3
2628 , typename Vector::item4, typename Vector::item5
2629 , typename Vector::item6, typename Vector::item7
2630 , typename Vector::item8, typename Vector::item9
2631 , typename Vector::item10, typename Vector::item11
2632 , typename Vector::item12, typename Vector::item13
2633 , typename Vector::item14, typename Vector::item15
2634 , typename Vector::item16, typename Vector::item17
2635 , typename Vector::item18, typename Vector::item19
2636 , typename Vector::item20, typename Vector::item21
2637 , typename Vector::item22, typename Vector::item23
2638 , typename Vector::item24, typename Vector::item25
2639 , typename Vector::item26, typename Vector::item27
2640 , typename Vector::item28, typename Vector::item29
2641 , typename Vector::item30, typename Vector::item31
2642 , typename Vector::item32, typename Vector::item33
2643 , typename Vector::item34, typename Vector::item35
2644 , typename Vector::item36, typename Vector::item37
2645 , typename Vector::item38, typename Vector::item39
2646 , typename Vector::item40, typename Vector::item41
2647 , typename Vector::item42, typename Vector::item43
2648 , typename Vector::item44, typename Vector::item45
2649 , typename Vector::item46, typename Vector::item47
2650 , typename Vector::item48
2651 ,
2652 T
2653 > type;
2654 };
2655 };
2656
2657 template<>
2658 struct pop_back_impl< aux::vector_tag<50> >
2659 {
2660 template< typename Vector > struct apply
2661 {
2662 typedef vector49<
2663 typename Vector::item0, typename Vector::item1
2664 , typename Vector::item2, typename Vector::item3
2665 , typename Vector::item4, typename Vector::item5
2666 , typename Vector::item6, typename Vector::item7
2667 , typename Vector::item8, typename Vector::item9
2668 , typename Vector::item10, typename Vector::item11
2669 , typename Vector::item12, typename Vector::item13
2670 , typename Vector::item14, typename Vector::item15
2671 , typename Vector::item16, typename Vector::item17
2672 , typename Vector::item18, typename Vector::item19
2673 , typename Vector::item20, typename Vector::item21
2674 , typename Vector::item22, typename Vector::item23
2675 , typename Vector::item24, typename Vector::item25
2676 , typename Vector::item26, typename Vector::item27
2677 , typename Vector::item28, typename Vector::item29
2678 , typename Vector::item30, typename Vector::item31
2679 , typename Vector::item32, typename Vector::item33
2680 , typename Vector::item34, typename Vector::item35
2681 , typename Vector::item36, typename Vector::item37
2682 , typename Vector::item38, typename Vector::item39
2683 , typename Vector::item40, typename Vector::item41
2684 , typename Vector::item42, typename Vector::item43
2685 , typename Vector::item44, typename Vector::item45
2686 , typename Vector::item46, typename Vector::item47
2687 , typename Vector::item48
2688 > type;
2689 };
2690 };
2691
2692 namespace aux {
2693 template<> struct v_at_impl<50>
2694 {
2695 template< typename V_ > struct result_
2696 {
2697 typedef typename V_::item50 type;
2698 };
2699 };
2700
2701 }
2702
2703 template<>
2704 struct at_impl< aux::vector_tag<50> >
2705 {
2706 template< typename V_, typename N > struct apply
2707 {
2708 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
2709 ::template result_<V_>::type type;
2710 };
2711 };
2712
2713 template<>
2714 struct front_impl< aux::vector_tag<50> >
2715 {
2716 template< typename Vector > struct apply
2717 {
2718 typedef typename Vector::item0 type;
2719 };
2720 };
2721
2722 template<>
2723 struct back_impl< aux::vector_tag<50> >
2724 {
2725 template< typename Vector > struct apply
2726 {
2727 typedef typename Vector::back type;
2728 };
2729 };
2730
2731 template<>
2732 struct empty_impl< aux::vector_tag<50> >
2733 {
2734 template< typename Vector > struct apply
2735 : false_
2736 {
2737 };
2738 };
2739
2740 template<>
2741 struct size_impl< aux::vector_tag<50> >
2742 {
2743 template< typename Vector > struct apply
2744 : long_<50>
2745 {
2746 };
2747 };
2748
2749 template<>
2750 struct O1_size_impl< aux::vector_tag<50> >
2751 : size_impl< aux::vector_tag<50> >
2752 {
2753 };
2754
2755 template<>
2756 struct clear_impl< aux::vector_tag<50> >
2757 {
2758 template< typename Vector > struct apply
2759 {
2760 typedef vector0<> type;
2761 };
2762 };
2763
2764 }}