/Src/Dependencies/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp

http://hadesmem.googlecode.com/ · C++ Header · 2104 lines · 2012 code · 84 blank · 8 comment · 0 complexity · 5dd5ad9cc3ec763df2ca4fef1ce5402f MD5 · raw file

Large files are truncated click here to view the full file

  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/vector50.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, typename T31, typename T32, typename T33, typename T34
  18. , typename T35, typename T36, typename T37, typename T38, typename T39
  19. , typename T40
  20. >
  21. struct vector41
  22. {
  23. typedef aux::vector_tag<41> tag;
  24. typedef vector41 type;
  25. typedef T0 item0;
  26. typedef T1 item1;
  27. typedef T2 item2;
  28. typedef T3 item3;
  29. typedef T4 item4;
  30. typedef T5 item5;
  31. typedef T6 item6;
  32. typedef T7 item7;
  33. typedef T8 item8;
  34. typedef T9 item9;
  35. typedef T10 item10;
  36. typedef T11 item11;
  37. typedef T12 item12;
  38. typedef T13 item13;
  39. typedef T14 item14;
  40. typedef T15 item15;
  41. typedef T16 item16;
  42. typedef T17 item17;
  43. typedef T18 item18;
  44. typedef T19 item19;
  45. typedef T20 item20;
  46. typedef T21 item21;
  47. typedef T22 item22;
  48. typedef T23 item23;
  49. typedef T24 item24;
  50. typedef T25 item25;
  51. typedef T26 item26;
  52. typedef T27 item27;
  53. typedef T28 item28;
  54. typedef T29 item29;
  55. typedef T30 item30;
  56. typedef T31 item31;
  57. typedef T32 item32;
  58. typedef T33 item33;
  59. typedef T34 item34;
  60. typedef T35 item35;
  61. typedef T36 item36;
  62. typedef T37 item37;
  63. typedef T38 item38;
  64. typedef T39 item39;
  65. typedef T40 item40;
  66. typedef void_ item41;
  67. typedef T40 back;
  68. typedef v_iter< type,0 > begin;
  69. typedef v_iter< type,41 > end;
  70. };
  71. template<>
  72. struct push_front_impl< aux::vector_tag<40> >
  73. {
  74. template< typename Vector, typename T > struct apply
  75. {
  76. typedef vector41<
  77. T
  78. ,
  79. typename Vector::item0, typename Vector::item1
  80. , typename Vector::item2, typename Vector::item3
  81. , typename Vector::item4, typename Vector::item5
  82. , typename Vector::item6, typename Vector::item7
  83. , typename Vector::item8, typename Vector::item9
  84. , typename Vector::item10, typename Vector::item11
  85. , typename Vector::item12, typename Vector::item13
  86. , typename Vector::item14, typename Vector::item15
  87. , typename Vector::item16, typename Vector::item17
  88. , typename Vector::item18, typename Vector::item19
  89. , typename Vector::item20, typename Vector::item21
  90. , typename Vector::item22, typename Vector::item23
  91. , typename Vector::item24, typename Vector::item25
  92. , typename Vector::item26, typename Vector::item27
  93. , typename Vector::item28, typename Vector::item29
  94. , typename Vector::item30, typename Vector::item31
  95. , typename Vector::item32, typename Vector::item33
  96. , typename Vector::item34, typename Vector::item35
  97. , typename Vector::item36, typename Vector::item37
  98. , typename Vector::item38, typename Vector::item39
  99. > type;
  100. };
  101. };
  102. template<>
  103. struct pop_front_impl< aux::vector_tag<41> >
  104. {
  105. template< typename Vector > struct apply
  106. {
  107. typedef vector40<
  108. typename Vector::item1, typename Vector::item2
  109. , typename Vector::item3, typename Vector::item4
  110. , typename Vector::item5, typename Vector::item6
  111. , typename Vector::item7, typename Vector::item8
  112. , typename Vector::item9, typename Vector::item10
  113. , typename Vector::item11, typename Vector::item12
  114. , typename Vector::item13, typename Vector::item14
  115. , typename Vector::item15, typename Vector::item16
  116. , typename Vector::item17, typename Vector::item18
  117. , typename Vector::item19, typename Vector::item20
  118. , typename Vector::item21, typename Vector::item22
  119. , typename Vector::item23, typename Vector::item24
  120. , typename Vector::item25, typename Vector::item26
  121. , typename Vector::item27, typename Vector::item28
  122. , typename Vector::item29, typename Vector::item30
  123. , typename Vector::item31, typename Vector::item32
  124. , typename Vector::item33, typename Vector::item34
  125. , typename Vector::item35, typename Vector::item36
  126. , typename Vector::item37, typename Vector::item38
  127. , typename Vector::item39, typename Vector::item40
  128. > type;
  129. };
  130. };
  131. template<>
  132. struct push_back_impl< aux::vector_tag<40> >
  133. {
  134. template< typename Vector, typename T > struct apply
  135. {
  136. typedef vector41<
  137. typename Vector::item0, typename Vector::item1
  138. , typename Vector::item2, typename Vector::item3
  139. , typename Vector::item4, typename Vector::item5
  140. , typename Vector::item6, typename Vector::item7
  141. , typename Vector::item8, typename Vector::item9
  142. , typename Vector::item10, typename Vector::item11
  143. , typename Vector::item12, typename Vector::item13
  144. , typename Vector::item14, typename Vector::item15
  145. , typename Vector::item16, typename Vector::item17
  146. , typename Vector::item18, typename Vector::item19
  147. , typename Vector::item20, typename Vector::item21
  148. , typename Vector::item22, typename Vector::item23
  149. , typename Vector::item24, typename Vector::item25
  150. , typename Vector::item26, typename Vector::item27
  151. , typename Vector::item28, typename Vector::item29
  152. , typename Vector::item30, typename Vector::item31
  153. , typename Vector::item32, typename Vector::item33
  154. , typename Vector::item34, typename Vector::item35
  155. , typename Vector::item36, typename Vector::item37
  156. , typename Vector::item38, typename Vector::item39
  157. ,
  158. T
  159. > type;
  160. };
  161. };
  162. template<>
  163. struct pop_back_impl< aux::vector_tag<41> >
  164. {
  165. template< typename Vector > struct apply
  166. {
  167. typedef vector40<
  168. typename Vector::item0, typename Vector::item1
  169. , typename Vector::item2, typename Vector::item3
  170. , typename Vector::item4, typename Vector::item5
  171. , typename Vector::item6, typename Vector::item7
  172. , typename Vector::item8, typename Vector::item9
  173. , typename Vector::item10, typename Vector::item11
  174. , typename Vector::item12, typename Vector::item13
  175. , typename Vector::item14, typename Vector::item15
  176. , typename Vector::item16, typename Vector::item17
  177. , typename Vector::item18, typename Vector::item19
  178. , typename Vector::item20, typename Vector::item21
  179. , typename Vector::item22, typename Vector::item23
  180. , typename Vector::item24, typename Vector::item25
  181. , typename Vector::item26, typename Vector::item27
  182. , typename Vector::item28, typename Vector::item29
  183. , typename Vector::item30, typename Vector::item31
  184. , typename Vector::item32, typename Vector::item33
  185. , typename Vector::item34, typename Vector::item35
  186. , typename Vector::item36, typename Vector::item37
  187. , typename Vector::item38, typename Vector::item39
  188. > type;
  189. };
  190. };
  191. template< typename V >
  192. struct v_at< V,41 >
  193. {
  194. typedef typename V::item41 type;
  195. };
  196. template<
  197. typename T0, typename T1, typename T2, typename T3, typename T4
  198. , typename T5, typename T6, typename T7, typename T8, typename T9
  199. , typename T10, typename T11, typename T12, typename T13, typename T14
  200. , typename T15, typename T16, typename T17, typename T18, typename T19
  201. , typename T20, typename T21, typename T22, typename T23, typename T24
  202. , typename T25, typename T26, typename T27, typename T28, typename T29
  203. , typename T30, typename T31, typename T32, typename T33, typename T34
  204. , typename T35, typename T36, typename T37, typename T38, typename T39
  205. , typename T40, typename T41
  206. >
  207. struct vector42
  208. {
  209. typedef aux::vector_tag<42> tag;
  210. typedef vector42 type;
  211. typedef T0 item0;
  212. typedef T1 item1;
  213. typedef T2 item2;
  214. typedef T3 item3;
  215. typedef T4 item4;
  216. typedef T5 item5;
  217. typedef T6 item6;
  218. typedef T7 item7;
  219. typedef T8 item8;
  220. typedef T9 item9;
  221. typedef T10 item10;
  222. typedef T11 item11;
  223. typedef T12 item12;
  224. typedef T13 item13;
  225. typedef T14 item14;
  226. typedef T15 item15;
  227. typedef T16 item16;
  228. typedef T17 item17;
  229. typedef T18 item18;
  230. typedef T19 item19;
  231. typedef T20 item20;
  232. typedef T21 item21;
  233. typedef T22 item22;
  234. typedef T23 item23;
  235. typedef T24 item24;
  236. typedef T25 item25;
  237. typedef T26 item26;
  238. typedef T27 item27;
  239. typedef T28 item28;
  240. typedef T29 item29;
  241. typedef T30 item30;
  242. typedef T31 item31;
  243. typedef T32 item32;
  244. typedef T33 item33;
  245. typedef T34 item34;
  246. typedef T35 item35;
  247. typedef T36 item36;
  248. typedef T37 item37;
  249. typedef T38 item38;
  250. typedef T39 item39;
  251. typedef T40 item40;
  252. typedef T41 item41;
  253. typedef void_ item42;
  254. typedef T41 back;
  255. typedef v_iter< type,0 > begin;
  256. typedef v_iter< type,42 > end;
  257. };
  258. template<>
  259. struct push_front_impl< aux::vector_tag<41> >
  260. {
  261. template< typename Vector, typename T > struct apply
  262. {
  263. typedef vector42<
  264. T
  265. ,
  266. typename Vector::item0, typename Vector::item1
  267. , typename Vector::item2, typename Vector::item3
  268. , typename Vector::item4, typename Vector::item5
  269. , typename Vector::item6, typename Vector::item7
  270. , typename Vector::item8, typename Vector::item9
  271. , typename Vector::item10, typename Vector::item11
  272. , typename Vector::item12, typename Vector::item13
  273. , typename Vector::item14, typename Vector::item15
  274. , typename Vector::item16, typename Vector::item17
  275. , typename Vector::item18, typename Vector::item19
  276. , typename Vector::item20, typename Vector::item21
  277. , typename Vector::item22, typename Vector::item23
  278. , typename Vector::item24, typename Vector::item25
  279. , typename Vector::item26, typename Vector::item27
  280. , typename Vector::item28, typename Vector::item29
  281. , typename Vector::item30, typename Vector::item31
  282. , typename Vector::item32, typename Vector::item33
  283. , typename Vector::item34, typename Vector::item35
  284. , typename Vector::item36, typename Vector::item37
  285. , typename Vector::item38, typename Vector::item39
  286. , typename Vector::item40
  287. > type;
  288. };
  289. };
  290. template<>
  291. struct pop_front_impl< aux::vector_tag<42> >
  292. {
  293. template< typename Vector > struct apply
  294. {
  295. typedef vector41<
  296. typename Vector::item1, typename Vector::item2
  297. , typename Vector::item3, typename Vector::item4
  298. , typename Vector::item5, typename Vector::item6
  299. , typename Vector::item7, typename Vector::item8
  300. , typename Vector::item9, typename Vector::item10
  301. , typename Vector::item11, typename Vector::item12
  302. , typename Vector::item13, typename Vector::item14
  303. , typename Vector::item15, typename Vector::item16
  304. , typename Vector::item17, typename Vector::item18
  305. , typename Vector::item19, typename Vector::item20
  306. , typename Vector::item21, typename Vector::item22
  307. , typename Vector::item23, typename Vector::item24
  308. , typename Vector::item25, typename Vector::item26
  309. , typename Vector::item27, typename Vector::item28
  310. , typename Vector::item29, typename Vector::item30
  311. , typename Vector::item31, typename Vector::item32
  312. , typename Vector::item33, typename Vector::item34
  313. , typename Vector::item35, typename Vector::item36
  314. , typename Vector::item37, typename Vector::item38
  315. , typename Vector::item39, typename Vector::item40
  316. , typename Vector::item41
  317. > type;
  318. };
  319. };
  320. template<>
  321. struct push_back_impl< aux::vector_tag<41> >
  322. {
  323. template< typename Vector, typename T > struct apply
  324. {
  325. typedef vector42<
  326. typename Vector::item0, typename Vector::item1
  327. , typename Vector::item2, typename Vector::item3
  328. , typename Vector::item4, typename Vector::item5
  329. , typename Vector::item6, typename Vector::item7
  330. , typename Vector::item8, typename Vector::item9
  331. , typename Vector::item10, typename Vector::item11
  332. , typename Vector::item12, typename Vector::item13
  333. , typename Vector::item14, typename Vector::item15
  334. , typename Vector::item16, typename Vector::item17
  335. , typename Vector::item18, typename Vector::item19
  336. , typename Vector::item20, typename Vector::item21
  337. , typename Vector::item22, typename Vector::item23
  338. , typename Vector::item24, typename Vector::item25
  339. , typename Vector::item26, typename Vector::item27
  340. , typename Vector::item28, typename Vector::item29
  341. , typename Vector::item30, typename Vector::item31
  342. , typename Vector::item32, typename Vector::item33
  343. , typename Vector::item34, typename Vector::item35
  344. , typename Vector::item36, typename Vector::item37
  345. , typename Vector::item38, typename Vector::item39
  346. , typename Vector::item40
  347. ,
  348. T
  349. > type;
  350. };
  351. };
  352. template<>
  353. struct pop_back_impl< aux::vector_tag<42> >
  354. {
  355. template< typename Vector > struct apply
  356. {
  357. typedef vector41<
  358. typename Vector::item0, typename Vector::item1
  359. , typename Vector::item2, typename Vector::item3
  360. , typename Vector::item4, typename Vector::item5
  361. , typename Vector::item6, typename Vector::item7
  362. , typename Vector::item8, typename Vector::item9
  363. , typename Vector::item10, typename Vector::item11
  364. , typename Vector::item12, typename Vector::item13
  365. , typename Vector::item14, typename Vector::item15
  366. , typename Vector::item16, typename Vector::item17
  367. , typename Vector::item18, typename Vector::item19
  368. , typename Vector::item20, typename Vector::item21
  369. , typename Vector::item22, typename Vector::item23
  370. , typename Vector::item24, typename Vector::item25
  371. , typename Vector::item26, typename Vector::item27
  372. , typename Vector::item28, typename Vector::item29
  373. , typename Vector::item30, typename Vector::item31
  374. , typename Vector::item32, typename Vector::item33
  375. , typename Vector::item34, typename Vector::item35
  376. , typename Vector::item36, typename Vector::item37
  377. , typename Vector::item38, typename Vector::item39
  378. , typename Vector::item40
  379. > type;
  380. };
  381. };
  382. template< typename V >
  383. struct v_at< V,42 >
  384. {
  385. typedef typename V::item42 type;
  386. };
  387. template<
  388. typename T0, typename T1, typename T2, typename T3, typename T4
  389. , typename T5, typename T6, typename T7, typename T8, typename T9
  390. , typename T10, typename T11, typename T12, typename T13, typename T14
  391. , typename T15, typename T16, typename T17, typename T18, typename T19
  392. , typename T20, typename T21, typename T22, typename T23, typename T24
  393. , typename T25, typename T26, typename T27, typename T28, typename T29
  394. , typename T30, typename T31, typename T32, typename T33, typename T34
  395. , typename T35, typename T36, typename T37, typename T38, typename T39
  396. , typename T40, typename T41, typename T42
  397. >
  398. struct vector43
  399. {
  400. typedef aux::vector_tag<43> tag;
  401. typedef vector43 type;
  402. typedef T0 item0;
  403. typedef T1 item1;
  404. typedef T2 item2;
  405. typedef T3 item3;
  406. typedef T4 item4;
  407. typedef T5 item5;
  408. typedef T6 item6;
  409. typedef T7 item7;
  410. typedef T8 item8;
  411. typedef T9 item9;
  412. typedef T10 item10;
  413. typedef T11 item11;
  414. typedef T12 item12;
  415. typedef T13 item13;
  416. typedef T14 item14;
  417. typedef T15 item15;
  418. typedef T16 item16;
  419. typedef T17 item17;
  420. typedef T18 item18;
  421. typedef T19 item19;
  422. typedef T20 item20;
  423. typedef T21 item21;
  424. typedef T22 item22;
  425. typedef T23 item23;
  426. typedef T24 item24;
  427. typedef T25 item25;
  428. typedef T26 item26;
  429. typedef T27 item27;
  430. typedef T28 item28;
  431. typedef T29 item29;
  432. typedef T30 item30;
  433. typedef T31 item31;
  434. typedef T32 item32;
  435. typedef T33 item33;
  436. typedef T34 item34;
  437. typedef T35 item35;
  438. typedef T36 item36;
  439. typedef T37 item37;
  440. typedef T38 item38;
  441. typedef T39 item39;
  442. typedef T40 item40;
  443. typedef T41 item41;
  444. typedef T42 item42;
  445. typedef void_ item43;
  446. typedef T42 back;
  447. typedef v_iter< type,0 > begin;
  448. typedef v_iter< type,43 > end;
  449. };
  450. template<>
  451. struct push_front_impl< aux::vector_tag<42> >
  452. {
  453. template< typename Vector, typename T > struct apply
  454. {
  455. typedef vector43<
  456. T
  457. ,
  458. typename Vector::item0, typename Vector::item1
  459. , typename Vector::item2, typename Vector::item3
  460. , typename Vector::item4, typename Vector::item5
  461. , typename Vector::item6, typename Vector::item7
  462. , typename Vector::item8, typename Vector::item9
  463. , typename Vector::item10, typename Vector::item11
  464. , typename Vector::item12, typename Vector::item13
  465. , typename Vector::item14, typename Vector::item15
  466. , typename Vector::item16, typename Vector::item17
  467. , typename Vector::item18, typename Vector::item19
  468. , typename Vector::item20, typename Vector::item21
  469. , typename Vector::item22, typename Vector::item23
  470. , typename Vector::item24, typename Vector::item25
  471. , typename Vector::item26, typename Vector::item27
  472. , typename Vector::item28, typename Vector::item29
  473. , typename Vector::item30, typename Vector::item31
  474. , typename Vector::item32, typename Vector::item33
  475. , typename Vector::item34, typename Vector::item35
  476. , typename Vector::item36, typename Vector::item37
  477. , typename Vector::item38, typename Vector::item39
  478. , typename Vector::item40, typename Vector::item41
  479. > type;
  480. };
  481. };
  482. template<>
  483. struct pop_front_impl< aux::vector_tag<43> >
  484. {
  485. template< typename Vector > struct apply
  486. {
  487. typedef vector42<
  488. typename Vector::item1, typename Vector::item2
  489. , typename Vector::item3, typename Vector::item4
  490. , typename Vector::item5, typename Vector::item6
  491. , typename Vector::item7, typename Vector::item8
  492. , typename Vector::item9, typename Vector::item10
  493. , typename Vector::item11, typename Vector::item12
  494. , typename Vector::item13, typename Vector::item14
  495. , typename Vector::item15, typename Vector::item16
  496. , typename Vector::item17, typename Vector::item18
  497. , typename Vector::item19, typename Vector::item20
  498. , typename Vector::item21, typename Vector::item22
  499. , typename Vector::item23, typename Vector::item24
  500. , typename Vector::item25, typename Vector::item26
  501. , typename Vector::item27, typename Vector::item28
  502. , typename Vector::item29, typename Vector::item30
  503. , typename Vector::item31, typename Vector::item32
  504. , typename Vector::item33, typename Vector::item34
  505. , typename Vector::item35, typename Vector::item36
  506. , typename Vector::item37, typename Vector::item38
  507. , typename Vector::item39, typename Vector::item40
  508. , typename Vector::item41, typename Vector::item42
  509. > type;
  510. };
  511. };
  512. template<>
  513. struct push_back_impl< aux::vector_tag<42> >
  514. {
  515. template< typename Vector, typename T > struct apply
  516. {
  517. typedef vector43<
  518. typename Vector::item0, typename Vector::item1
  519. , typename Vector::item2, typename Vector::item3
  520. , typename Vector::item4, typename Vector::item5
  521. , typename Vector::item6, typename Vector::item7
  522. , typename Vector::item8, typename Vector::item9
  523. , typename Vector::item10, typename Vector::item11
  524. , typename Vector::item12, typename Vector::item13
  525. , typename Vector::item14, typename Vector::item15
  526. , typename Vector::item16, typename Vector::item17
  527. , typename Vector::item18, typename Vector::item19
  528. , typename Vector::item20, typename Vector::item21
  529. , typename Vector::item22, typename Vector::item23
  530. , typename Vector::item24, typename Vector::item25
  531. , typename Vector::item26, typename Vector::item27
  532. , typename Vector::item28, typename Vector::item29
  533. , typename Vector::item30, typename Vector::item31
  534. , typename Vector::item32, typename Vector::item33
  535. , typename Vector::item34, typename Vector::item35
  536. , typename Vector::item36, typename Vector::item37
  537. , typename Vector::item38, typename Vector::item39
  538. , typename Vector::item40, typename Vector::item41
  539. ,
  540. T
  541. > type;
  542. };
  543. };
  544. template<>
  545. struct pop_back_impl< aux::vector_tag<43> >
  546. {
  547. template< typename Vector > struct apply
  548. {
  549. typedef vector42<
  550. typename Vector::item0, typename Vector::item1
  551. , typename Vector::item2, typename Vector::item3
  552. , typename Vector::item4, typename Vector::item5
  553. , typename Vector::item6, typename Vector::item7
  554. , typename Vector::item8, typename Vector::item9
  555. , typename Vector::item10, typename Vector::item11
  556. , typename Vector::item12, typename Vector::item13
  557. , typename Vector::item14, typename Vector::item15
  558. , typename Vector::item16, typename Vector::item17
  559. , typename Vector::item18, typename Vector::item19
  560. , typename Vector::item20, typename Vector::item21
  561. , typename Vector::item22, typename Vector::item23
  562. , typename Vector::item24, typename Vector::item25
  563. , typename Vector::item26, typename Vector::item27
  564. , typename Vector::item28, typename Vector::item29
  565. , typename Vector::item30, typename Vector::item31
  566. , typename Vector::item32, typename Vector::item33
  567. , typename Vector::item34, typename Vector::item35
  568. , typename Vector::item36, typename Vector::item37
  569. , typename Vector::item38, typename Vector::item39
  570. , typename Vector::item40, typename Vector::item41
  571. > type;
  572. };
  573. };
  574. template< typename V >
  575. struct v_at< V,43 >
  576. {
  577. typedef typename V::item43 type;
  578. };
  579. template<
  580. typename T0, typename T1, typename T2, typename T3, typename T4
  581. , typename T5, typename T6, typename T7, typename T8, typename T9
  582. , typename T10, typename T11, typename T12, typename T13, typename T14
  583. , typename T15, typename T16, typename T17, typename T18, typename T19
  584. , typename T20, typename T21, typename T22, typename T23, typename T24
  585. , typename T25, typename T26, typename T27, typename T28, typename T29
  586. , typename T30, typename T31, typename T32, typename T33, typename T34
  587. , typename T35, typename T36, typename T37, typename T38, typename T39
  588. , typename T40, typename T41, typename T42, typename T43
  589. >
  590. struct vector44
  591. {
  592. typedef aux::vector_tag<44> tag;
  593. typedef vector44 type;
  594. typedef T0 item0;
  595. typedef T1 item1;
  596. typedef T2 item2;
  597. typedef T3 item3;
  598. typedef T4 item4;
  599. typedef T5 item5;
  600. typedef T6 item6;
  601. typedef T7 item7;
  602. typedef T8 item8;
  603. typedef T9 item9;
  604. typedef T10 item10;
  605. typedef T11 item11;
  606. typedef T12 item12;
  607. typedef T13 item13;
  608. typedef T14 item14;
  609. typedef T15 item15;
  610. typedef T16 item16;
  611. typedef T17 item17;
  612. typedef T18 item18;
  613. typedef T19 item19;
  614. typedef T20 item20;
  615. typedef T21 item21;
  616. typedef T22 item22;
  617. typedef T23 item23;
  618. typedef T24 item24;
  619. typedef T25 item25;
  620. typedef T26 item26;
  621. typedef T27 item27;
  622. typedef T28 item28;
  623. typedef T29 item29;
  624. typedef T30 item30;
  625. typedef T31 item31;
  626. typedef T32 item32;
  627. typedef T33 item33;
  628. typedef T34 item34;
  629. typedef T35 item35;
  630. typedef T36 item36;
  631. typedef T37 item37;
  632. typedef T38 item38;
  633. typedef T39 item39;
  634. typedef T40 item40;
  635. typedef T41 item41;
  636. typedef T42 item42;
  637. typedef T43 item43;
  638. typedef void_ item44;
  639. typedef T43 back;
  640. typedef v_iter< type,0 > begin;
  641. typedef v_iter< type,44 > end;
  642. };
  643. template<>
  644. struct push_front_impl< aux::vector_tag<43> >
  645. {
  646. template< typename Vector, typename T > struct apply
  647. {
  648. typedef vector44<
  649. T
  650. ,
  651. typename Vector::item0, typename Vector::item1
  652. , typename Vector::item2, typename Vector::item3
  653. , typename Vector::item4, typename Vector::item5
  654. , typename Vector::item6, typename Vector::item7
  655. , typename Vector::item8, typename Vector::item9
  656. , typename Vector::item10, typename Vector::item11
  657. , typename Vector::item12, typename Vector::item13
  658. , typename Vector::item14, typename Vector::item15
  659. , typename Vector::item16, typename Vector::item17
  660. , typename Vector::item18, typename Vector::item19
  661. , typename Vector::item20, typename Vector::item21
  662. , typename Vector::item22, typename Vector::item23
  663. , typename Vector::item24, typename Vector::item25
  664. , typename Vector::item26, typename Vector::item27
  665. , typename Vector::item28, typename Vector::item29
  666. , typename Vector::item30, typename Vector::item31
  667. , typename Vector::item32, typename Vector::item33
  668. , typename Vector::item34, typename Vector::item35
  669. , typename Vector::item36, typename Vector::item37
  670. , typename Vector::item38, typename Vector::item39
  671. , typename Vector::item40, typename Vector::item41
  672. , typename Vector::item42
  673. > type;
  674. };
  675. };
  676. template<>
  677. struct pop_front_impl< aux::vector_tag<44> >
  678. {
  679. template< typename Vector > struct apply
  680. {
  681. typedef vector43<
  682. typename Vector::item1, typename Vector::item2
  683. , typename Vector::item3, typename Vector::item4
  684. , typename Vector::item5, typename Vector::item6
  685. , typename Vector::item7, typename Vector::item8
  686. , typename Vector::item9, typename Vector::item10
  687. , typename Vector::item11, typename Vector::item12
  688. , typename Vector::item13, typename Vector::item14
  689. , typename Vector::item15, typename Vector::item16
  690. , typename Vector::item17, typename Vector::item18
  691. , typename Vector::item19, typename Vector::item20
  692. , typename Vector::item21, typename Vector::item22
  693. , typename Vector::item23, typename Vector::item24
  694. , typename Vector::item25, typename Vector::item26
  695. , typename Vector::item27, typename Vector::item28
  696. , typename Vector::item29, typename Vector::item30
  697. , typename Vector::item31, typename Vector::item32
  698. , typename Vector::item33, typename Vector::item34
  699. , typename Vector::item35, typename Vector::item36
  700. , typename Vector::item37, typename Vector::item38
  701. , typename Vector::item39, typename Vector::item40
  702. , typename Vector::item41, typename Vector::item42
  703. , typename Vector::item43
  704. > type;
  705. };
  706. };
  707. template<>
  708. struct push_back_impl< aux::vector_tag<43> >
  709. {
  710. template< typename Vector, typename T > struct apply
  711. {
  712. typedef vector44<
  713. typename Vector::item0, typename Vector::item1
  714. , typename Vector::item2, typename Vector::item3
  715. , typename Vector::item4, typename Vector::item5
  716. , typename Vector::item6, typename Vector::item7
  717. , typename Vector::item8, typename Vector::item9
  718. , typename Vector::item10, typename Vector::item11
  719. , typename Vector::item12, typename Vector::item13
  720. , typename Vector::item14, typename Vector::item15
  721. , typename Vector::item16, typename Vector::item17
  722. , typename Vector::item18, typename Vector::item19
  723. , typename Vector::item20, typename Vector::item21
  724. , typename Vector::item22, typename Vector::item23
  725. , typename Vector::item24, typename Vector::item25
  726. , typename Vector::item26, typename Vector::item27
  727. , typename Vector::item28, typename Vector::item29
  728. , typename Vector::item30, typename Vector::item31
  729. , typename Vector::item32, typename Vector::item33
  730. , typename Vector::item34, typename Vector::item35
  731. , typename Vector::item36, typename Vector::item37
  732. , typename Vector::item38, typename Vector::item39
  733. , typename Vector::item40, typename Vector::item41
  734. , typename Vector::item42
  735. ,
  736. T
  737. > type;
  738. };
  739. };
  740. template<>
  741. struct pop_back_impl< aux::vector_tag<44> >
  742. {
  743. template< typename Vector > struct apply
  744. {
  745. typedef vector43<
  746. typename Vector::item0, typename Vector::item1
  747. , typename Vector::item2, typename Vector::item3
  748. , typename Vector::item4, typename Vector::item5
  749. , typename Vector::item6, typename Vector::item7
  750. , typename Vector::item8, typename Vector::item9
  751. , typename Vector::item10, typename Vector::item11
  752. , typename Vector::item12, typename Vector::item13
  753. , typename Vector::item14, typename Vector::item15
  754. , typename Vector::item16, typename Vector::item17
  755. , typename Vector::item18, typename Vector::item19
  756. , typename Vector::item20, typename Vector::item21
  757. , typename Vector::item22, typename Vector::item23
  758. , typename Vector::item24, typename Vector::item25
  759. , typename Vector::item26, typename Vector::item27
  760. , typename Vector::item28, typename Vector::item29
  761. , typename Vector::item30, typename Vector::item31
  762. , typename Vector::item32, typename Vector::item33
  763. , typename Vector::item34, typename Vector::item35
  764. , typename Vector::item36, typename Vector::item37
  765. , typename Vector::item38, typename Vector::item39
  766. , typename Vector::item40, typename Vector::item41
  767. , typename Vector::item42
  768. > type;
  769. };
  770. };
  771. template< typename V >
  772. struct v_at< V,44 >
  773. {
  774. typedef typename V::item44 type;
  775. };
  776. template<
  777. typename T0, typename T1, typename T2, typename T3, typename T4
  778. , typename T5, typename T6, typename T7, typename T8, typename T9
  779. , typename T10, typename T11, typename T12, typename T13, typename T14
  780. , typename T15, typename T16, typename T17, typename T18, typename T19
  781. , typename T20, typename T21, typename T22, typename T23, typename T24
  782. , typename T25, typename T26, typename T27, typename T28, typename T29
  783. , typename T30, typename T31, typename T32, typename T33, typename T34
  784. , typename T35, typename T36, typename T37, typename T38, typename T39
  785. , typename T40, typename T41, typename T42, typename T43, typename T44
  786. >
  787. struct vector45
  788. {
  789. typedef aux::vector_tag<45> tag;
  790. typedef vector45 type;
  791. typedef T0 item0;
  792. typedef T1 item1;
  793. typedef T2 item2;
  794. typedef T3 item3;
  795. typedef T4 item4;
  796. typedef T5 item5;
  797. typedef T6 item6;
  798. typedef T7 item7;
  799. typedef T8 item8;
  800. typedef T9 item9;
  801. typedef T10 item10;
  802. typedef T11 item11;
  803. typedef T12 item12;
  804. typedef T13 item13;
  805. typedef T14 item14;
  806. typedef T15 item15;
  807. typedef T16 item16;
  808. typedef T17 item17;
  809. typedef T18 item18;
  810. typedef T19 item19;
  811. typedef T20 item20;
  812. typedef T21 item21;
  813. typedef T22 item22;
  814. typedef T23 item23;
  815. typedef T24 item24;
  816. typedef T25 item25;
  817. typedef T26 item26;
  818. typedef T27 item27;
  819. typedef T28 item28;
  820. typedef T29 item29;
  821. typedef T30 item30;
  822. typedef T31 item31;
  823. typedef T32 item32;
  824. typedef T33 item33;
  825. typedef T34 item34;
  826. typedef T35 item35;
  827. typedef T36 item36;
  828. typedef T37 item37;
  829. typedef T38 item38;
  830. typedef T39 item39;
  831. typedef T40 item40;
  832. typedef T41 item41;
  833. typedef T42 item42;
  834. typedef T43 item43;
  835. typedef T44 item44;
  836. typedef void_ item45;
  837. typedef T44 back;
  838. typedef v_iter< type,0 > begin;
  839. typedef v_iter< type,45 > end;
  840. };
  841. template<>
  842. struct push_front_impl< aux::vector_tag<44> >
  843. {
  844. template< typename Vector, typename T > struct apply
  845. {
  846. typedef vector45<
  847. T
  848. ,
  849. typename Vector::item0, typename Vector::item1
  850. , typename Vector::item2, typename Vector::item3
  851. , typename Vector::item4, typename Vector::item5
  852. , typename Vector::item6, typename Vector::item7
  853. , typename Vector::item8, typename Vector::item9
  854. , typename Vector::item10, typename Vector::item11
  855. , typename Vector::item12, typename Vector::item13
  856. , typename Vector::item14, typename Vector::item15
  857. , typename Vector::item16, typename Vector::item17
  858. , typename Vector::item18, typename Vector::item19
  859. , typename Vector::item20, typename Vector::item21
  860. , typename Vector::item22, typename Vector::item23
  861. , typename Vector::item24, typename Vector::item25
  862. , typename Vector::item26, typename Vector::item27
  863. , typename Vector::item28, typename Vector::item29
  864. , typename Vector::item30, typename Vector::item31
  865. , typename Vector::item32, typename Vector::item33
  866. , typename Vector::item34, typename Vector::item35
  867. , typename Vector::item36, typename Vector::item37
  868. , typename Vector::item38, typename Vector::item39
  869. , typename Vector::item40, typename Vector::item41
  870. , typename Vector::item42, typename Vector::item43
  871. > type;
  872. };
  873. };
  874. template<>
  875. struct pop_front_impl< aux::vector_tag<45> >
  876. {
  877. template< typename Vector > struct apply
  878. {
  879. typedef vector44<
  880. typename Vector::item1, typename Vector::item2
  881. , typename Vector::item3, typename Vector::item4
  882. , typename Vector::item5, typename Vector::item6
  883. , typename Vector::item7, typename Vector::item8
  884. , typename Vector::item9, typename Vector::item10
  885. , typename Vector::item11, typename Vector::item12
  886. , typename Vector::item13, typename Vector::item14
  887. , typename Vector::item15, typename Vector::item16
  888. , typename Vector::item17, typename Vector::item18
  889. , typename Vector::item19, typename Vector::item20
  890. , typename Vector::item21, typename Vector::item22
  891. , typename Vector::item23, typename Vector::item24
  892. , typename Vector::item25, typename Vector::item26
  893. , typename Vector::item27, typename Vector::item28
  894. , typename Vector::item29, typename Vector::item30
  895. , typename Vector::item31, typename Vector::item32
  896. , typename Vector::item33, typename Vector::item34
  897. , typename Vector::item35, typename Vector::item36
  898. , typename Vector::item37, typename Vector::item38
  899. , typename Vector::item39, typename Vector::item40
  900. , typename Vector::item41, typename Vector::item42
  901. , typename Vector::item43, typename Vector::item44
  902. > type;
  903. };
  904. };
  905. template<>
  906. struct push_back_impl< aux::vector_tag<44> >
  907. {
  908. template< typename Vector, typename T > struct apply
  909. {
  910. typedef vector45<
  911. typename Vector::item0, typename Vector::item1
  912. , typename Vector::item2, typename Vector::item3
  913. , typename Vector::item4, typename Vector::item5
  914. , typename Vector::item6, typename Vector::item7
  915. , typename Vector::item8, typename Vector::item9
  916. , typename Vector::item10, typename Vector::item11
  917. , typename Vector::item12, typename Vector::item13
  918. , typename Vector::item14, typename Vector::item15
  919. , typename Vector::item16, typename Vector::item17
  920. , typename Vector::item18, typename Vector::item19
  921. , typename Vector::item20, typename Vector::item21
  922. , typename Vector::item22, typename Vector::item23
  923. , typename Vector::item24, typename Vector::item25
  924. , typename Vector::item26, typename Vector::item27
  925. , typename Vector::item28, typename Vector::item29
  926. , typename Vector::item30, typename Vector::item31
  927. , typename Vector::item32, typename Vector::item33
  928. , typename Vector::item34, typename Vector::item35
  929. , typename Vector::item36, typename Vector::item37
  930. , typename Vector::item38, typename Vector::item39
  931. , typename Vector::item40, typename Vector::item41
  932. , typename Vector::item42, typename Vector::item43
  933. ,
  934. T
  935. > type;
  936. };
  937. };
  938. template<>
  939. struct pop_back_impl< aux::vector_tag<45> >
  940. {
  941. template< typename Vector > 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, typename Vector::item43
  966. > type;
  967. };
  968. };
  969. template< typename V >
  970. struct v_at< V,45 >
  971. {
  972. typedef typename V::item45 type;
  973. };
  974. template<
  975. typename T0, typename T1, typename T2, typename T3, typename T4
  976. , typename T5, typename T6, typename T7, typename T8, typename T9
  977. , typename T10, typename T11, typename T12, typename T13, typename T14
  978. , typename T15, typename T16, typename T17, typename T18, typename T19
  979. , typename T20, typename T21, typename T22, typename T23, typename T24
  980. , typename T25, typename T26, typename T27, typename T28, typename T29
  981. , typename T30, typename T31, typename T32, typename T33, typename T34
  982. , typename T35, typename T36, typename T37, typename T38, typename T39
  983. , typename T40, typename T41, typename T42, typename T43, typename T44
  984. , typename T45
  985. >
  986. struct vector46
  987. {
  988. typedef aux::vector_tag<46> tag;
  989. typedef vector46 type;
  990. typedef T0 item0;
  991. typedef T1 item1;
  992. typedef T2 item2;
  993. typedef T3 item3;
  994. typedef T4 item4;
  995. typedef T5 item5;
  996. typedef T6 item6;
  997. typedef T7 item7;
  998. typedef T8 item8;
  999. typedef T9 item9;
  1000. typedef T10 item10;
  1001. typedef T11 item11;
  1002. typedef T12 item12;
  1003. typedef T13 item13;
  1004. typedef T14 item14;
  1005. typedef T15 item15;
  1006. typedef T16 item16;
  1007. typedef T17 item17;
  1008. typedef T18 item18;
  1009. typedef T19 item19;
  1010. typedef T20 item20;
  1011. typedef T21 item21;
  1012. typedef T22 item22;
  1013. typedef T23 item23;
  1014. typedef T24 item24;
  1015. typedef T25 item25;
  1016. typedef T26 item26;
  1017. typedef T27 item27;
  1018. typedef T28 item28;
  1019. typedef T29 item29;
  1020. typedef T30 item30;
  1021. typedef T31 item31;
  1022. typedef T32 item32;
  1023. typedef T33 item33;
  1024. typedef T34 item34;
  1025. typedef T35 item35;
  1026. typedef T36 item36;
  1027. typedef T37 item37;
  1028. typedef T38 item38;
  1029. typedef T39 item39;
  1030. typedef T40 item40;
  1031. typedef T41 item41;
  1032. typedef T42 item42;
  1033. typedef T43 item43;
  1034. typedef T44 item44;
  1035. typedef T45 item45;
  1036. typedef void_ item46;
  1037. typedef T45 back;
  1038. typedef v_iter< type,0 > begin;
  1039. typedef v_iter< type,46 > end;
  1040. };
  1041. template<>
  1042. struct push_front_impl< aux::vector_tag<45> >
  1043. {
  1044. template< typename Vector, typename T > struct apply
  1045. {
  1046. typedef vector46<
  1047. T
  1048. ,
  1049. typename Vector::item0, typename Vector::item1
  1050. , typename Vector::item2, typename Vector::item3
  1051. , typename Vector::item4, typename Vector::item5
  1052. , typename Vector::item6, typename Vector::item7
  1053. , typename Vector::item8, typename Vector::item9
  1054. , typename Vector::item10, typename Vector::item11
  1055. , typename Vector::item12, typename Vector::item13
  1056. , typename Vector::item14, typename Vector::item15
  1057. , typename Vector::item16, typename Vector::item17
  1058. , typename Vector::item18, typename Vector::item19
  1059. , typename Vector::item20, typename Vector::item21
  1060. , typename Vector::item22, typename Vector::item23
  1061. , typename Vector::item24, typename Vector::item25
  1062. , typename Vector::item26, typename Vector::item27
  1063. , typename Vector::item28, typename Vector::item29
  1064. , typename Vector::item30, typename Vector::item31
  1065. , typename Vector::item32, typename Vector::item33
  1066. , typename Vector::item34, typename Vector::item35
  1067. , typename Vector::item36, typename Vector::item37
  1068. , typename Vector::item38, typename Vector::item39
  1069. , typename Vector::item40, typename Vector::item41
  1070. , typename Vector::item42, typename Vector::item43
  1071. , typename Vector::item44
  1072. > type;
  1073. };
  1074. };
  1075. template<>
  1076. struct pop_front_impl< aux::vector_tag<46> >
  1077. {
  1078. template< typename Vector > struct apply
  1079. {
  1080. typedef vector45<
  1081. typename Vector::item1, typename Vector::item2
  1082. , typename Vector::item3, typename Vector::item4
  1083. , typename Vector::item5, typename Vector::item6
  1084. , typename Vector::item7, typename Vector::item8
  1085. , typename Vector::item9, typename Vector::item10
  1086. , typename Vector::item11, typename Vector::item12
  1087. , typename Vector::item13, typename Vector::item14
  1088. , typename Vector::item15, typename Vector::item16
  1089. , typename Vector::item17, typename Vector::item18
  1090. , typename Vector::item19, typename Vector::item20
  1091. , typename Vector::item21, typename Vector::item22
  1092. , typename Vector::item23, typename Vector::item24
  1093. , typename Vector::item25, typename Vector::item26
  1094. , typename Vector::item27, typename Vector::item28
  1095. , typename Vector::item29, typename Vector::item30
  1096. , typename Vector::item31, typename Vector::item32
  1097. , typename Vector::item33, typename Vector::item34
  1098. , typename Vector::item35, typename Vector::item36
  1099. , typename Vector::item37, typename Vector::item38
  1100. , typename Vector::item39, typename Vector::item40
  1101. , typename Vector::item41, typename Vector::item42
  1102. , typename Vector::item43, typename Vector::item44
  1103. , typename Vector::item45
  1104. > type;
  1105. };
  1106. };
  1107. template<>
  1108. struct push_back_impl< aux::vector_tag<45> >
  1109. {
  1110. template< typename Vector, typename T > struct apply
  1111. {
  1112. typedef vector46<
  1113. typename Vector::item0, typename Vector::item1
  1114. , typename Vector::item2, typename Vector::item3
  1115. , typename Vector::item4, typename Vector::item5
  1116. , typename Vector::item6, typename Vector::item7
  1117. , typename Vector::item8, typename Vector::item9
  1118. , typename Vector::item10, typename Vector::item11
  1119. , typename Vector::item12, typename Vector::item13
  1120. , typename Vector::item14, typename Vector::item15
  1121. , typename Vector::item16, typename Vector::item17
  1122. , typename Vector::item18, typename Vector::item19
  1123. , typename Vector::item20, typename Vector::item21
  1124. , typename Vector::item22, typename Vector::item23
  1125. , typename Vector::item24, typename Vector::item25
  1126. , typename Vector::item26, typename Vector::item27
  1127. , typename Vector::item28, typename Vector::item29
  1128. , typename Vector::item30, typename Vector::item31
  1129. , typename Vector::item32, typename Vector::item33
  1130. , typename Vector::item34, typename Vector::item35
  1131. , typename Vector::item36, typename Vector::item37
  1132. , typename Vector::item38, typename Vector::item39
  1133. , typename Vector::item40, typename Vector::item41
  1134. , typename Vector::item42, typename Vector::item43
  1135. , typename Vector::item44
  1136. ,
  1137. T
  1138. > type;
  1139. };
  1140. };
  1141. template<>
  1142. struct pop_back_impl< aux::vector_tag<46> >
  1143. {
  1144. template< typename Vector > struct apply
  1145. {
  1146. typedef vector45<
  1147. typename Vector::item0, typename Vector::item1
  1148. , typename Vector::item2, typename Vector::item3
  1149. , typename Vector::item4, typename Vector::item5
  1150. , typename Vector::item6, typename Vector::item7
  1151. , typename Vector::item8, typename Vector::item9
  1152. , typename Vector::item10, typename Vector::item11
  1153. , typename Vector::item12, typename Vector::item13
  1154. , typename Vector::item14, typename Vector::item15
  1155. , typename Vector::item16, typename Vector::item17
  1156. , typename Vector::item18, typename Vector::item19
  1157. , typename Vector::item20, typename Vector::item21
  1158. , typename Vector::item22, typename Vector::item23
  1159. , typename Vector::item24, typename Vector::item25
  1160. , typename Vector::item26, typename Vector::item27
  1161. , typename Vector::item28, typename Vector::item29
  1162. , typename Vector::item30, typename Vector::item31
  1163. , typename Vector::item32, typename Vector::item33
  1164. , typename Vector::item34, typename Vector::item35
  1165. , typename Vector::item36, typename Vector::item37
  1166. , typename Vector::item38, typename Vector::item39
  1167. , typename Vector::item40, typename Vector::item41
  1168. , typename Vector::item42, typename Vector::item43
  1169. , typename Vector::item44
  1170. > type;
  1171. };
  1172. };
  1173. template< typename V >
  1174. struct v_at< V,46 >
  1175. {
  1176. typedef typename V::item46 type;
  1177. };
  1178. template<
  1179. typename T0, typename T1, typename T2, typename T3, typename T4
  1180. , typename T5, typename T6, typename T7, typename T8, typename T9
  1181. , typename T10, typename T11, typename T12, typename T13, typename T14
  1182. , typename T15, typename T16, typename T17, typename T18, typename T19
  1183. , typename T20, typename T21, typename T22, typename T23, typename T24
  1184. , typename T25, typename T26, typename T27, typename T28, typename T29
  1185. , typename T30, typename T31, typename T32, typename T33, typename T34
  1186. , typename T35, typename T36, typename T37, typename T38, typename T39
  1187. , typename T40, typename T41, typename T42, typename T43, typename T44
  1188. , typename T45, typename T46
  1189. >
  1190. struct vector47
  1191. {
  1192. typedef aux::vector_tag<47> tag;
  1193. typedef vector47 type;
  1194. typedef T0 item0;
  1195. typedef T1 item1;
  1196. typedef T2 item2;
  1197. typedef T3 item3;
  1198. typedef T4 item4;
  1199. typedef T5 item5;
  1200. typedef T6 item6;
  1201. typedef T7 item7;
  1202. typedef T8 item8;
  1203. typedef T9 item9;
  1204. typedef T10 item10;
  1205. typedef T11 item11;
  1206. typedef T12 item12;
  1207. typedef T13 item13;
  1208. typedef T14 item14;
  1209. typedef T15 item15;
  1210. typedef T16 item16;
  1211. typedef T17 item17;
  1212. typedef T18 item18;
  1213. typedef T19 item19;
  1214. typedef T20 item20;
  1215. typ