PageRenderTime 71ms CodeModel.GetById 29ms RepoModel.GetById 0ms app.codeStats 1ms

/Src/Dependencies/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp

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