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

http://hadesmem.googlecode.com/ · C++ Header · 829 lines · 735 code · 86 blank · 8 comment · 0 complexity · bc751afa3db901f65b002a5144e87ccb MD5 · raw 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/vector10.hpp" header
  8. // -- DO NOT modify by hand!
  9. namespace boost { namespace mpl {
  10. template< typename V >
  11. struct v_at< V,0 >
  12. {
  13. typedef typename V::item0 type;
  14. };
  15. template<
  16. typename T0
  17. >
  18. struct vector1
  19. {
  20. typedef aux::vector_tag<1> tag;
  21. typedef vector1 type;
  22. typedef T0 item0;
  23. typedef void_ item1;
  24. typedef T0 back;
  25. typedef v_iter< type,0 > begin;
  26. typedef v_iter< type,1 > end;
  27. };
  28. template<>
  29. struct push_front_impl< aux::vector_tag<0> >
  30. {
  31. template< typename Vector, typename T > struct apply
  32. {
  33. typedef vector1<
  34. T
  35. > type;
  36. };
  37. };
  38. template<>
  39. struct pop_front_impl< aux::vector_tag<1> >
  40. {
  41. template< typename Vector > struct apply
  42. {
  43. typedef vector0<
  44. > type;
  45. };
  46. };
  47. template<>
  48. struct push_back_impl< aux::vector_tag<0> >
  49. {
  50. template< typename Vector, typename T > struct apply
  51. {
  52. typedef vector1<
  53. T
  54. > type;
  55. };
  56. };
  57. template<>
  58. struct pop_back_impl< aux::vector_tag<1> >
  59. {
  60. template< typename Vector > struct apply
  61. {
  62. typedef vector0<
  63. > type;
  64. };
  65. };
  66. template< typename V >
  67. struct v_at< V,1 >
  68. {
  69. typedef typename V::item1 type;
  70. };
  71. template<
  72. typename T0, typename T1
  73. >
  74. struct vector2
  75. {
  76. typedef aux::vector_tag<2> tag;
  77. typedef vector2 type;
  78. typedef T0 item0;
  79. typedef T1 item1;
  80. typedef void_ item2;
  81. typedef T1 back;
  82. typedef v_iter< type,0 > begin;
  83. typedef v_iter< type,2 > end;
  84. };
  85. template<>
  86. struct push_front_impl< aux::vector_tag<1> >
  87. {
  88. template< typename Vector, typename T > struct apply
  89. {
  90. typedef vector2<
  91. T
  92. ,
  93. typename Vector::item0
  94. > type;
  95. };
  96. };
  97. template<>
  98. struct pop_front_impl< aux::vector_tag<2> >
  99. {
  100. template< typename Vector > struct apply
  101. {
  102. typedef vector1<
  103. typename Vector::item1
  104. > type;
  105. };
  106. };
  107. template<>
  108. struct push_back_impl< aux::vector_tag<1> >
  109. {
  110. template< typename Vector, typename T > struct apply
  111. {
  112. typedef vector2<
  113. typename Vector::item0
  114. ,
  115. T
  116. > type;
  117. };
  118. };
  119. template<>
  120. struct pop_back_impl< aux::vector_tag<2> >
  121. {
  122. template< typename Vector > struct apply
  123. {
  124. typedef vector1<
  125. typename Vector::item0
  126. > type;
  127. };
  128. };
  129. template< typename V >
  130. struct v_at< V,2 >
  131. {
  132. typedef typename V::item2 type;
  133. };
  134. template<
  135. typename T0, typename T1, typename T2
  136. >
  137. struct vector3
  138. {
  139. typedef aux::vector_tag<3> tag;
  140. typedef vector3 type;
  141. typedef T0 item0;
  142. typedef T1 item1;
  143. typedef T2 item2;
  144. typedef void_ item3;
  145. typedef T2 back;
  146. typedef v_iter< type,0 > begin;
  147. typedef v_iter< type,3 > end;
  148. };
  149. template<>
  150. struct push_front_impl< aux::vector_tag<2> >
  151. {
  152. template< typename Vector, typename T > struct apply
  153. {
  154. typedef vector3<
  155. T
  156. ,
  157. typename Vector::item0, typename Vector::item1
  158. > type;
  159. };
  160. };
  161. template<>
  162. struct pop_front_impl< aux::vector_tag<3> >
  163. {
  164. template< typename Vector > struct apply
  165. {
  166. typedef vector2<
  167. typename Vector::item1, typename Vector::item2
  168. > type;
  169. };
  170. };
  171. template<>
  172. struct push_back_impl< aux::vector_tag<2> >
  173. {
  174. template< typename Vector, typename T > struct apply
  175. {
  176. typedef vector3<
  177. typename Vector::item0, typename Vector::item1
  178. ,
  179. T
  180. > type;
  181. };
  182. };
  183. template<>
  184. struct pop_back_impl< aux::vector_tag<3> >
  185. {
  186. template< typename Vector > struct apply
  187. {
  188. typedef vector2<
  189. typename Vector::item0, typename Vector::item1
  190. > type;
  191. };
  192. };
  193. template< typename V >
  194. struct v_at< V,3 >
  195. {
  196. typedef typename V::item3 type;
  197. };
  198. template<
  199. typename T0, typename T1, typename T2, typename T3
  200. >
  201. struct vector4
  202. {
  203. typedef aux::vector_tag<4> tag;
  204. typedef vector4 type;
  205. typedef T0 item0;
  206. typedef T1 item1;
  207. typedef T2 item2;
  208. typedef T3 item3;
  209. typedef void_ item4;
  210. typedef T3 back;
  211. typedef v_iter< type,0 > begin;
  212. typedef v_iter< type,4 > end;
  213. };
  214. template<>
  215. struct push_front_impl< aux::vector_tag<3> >
  216. {
  217. template< typename Vector, typename T > struct apply
  218. {
  219. typedef vector4<
  220. T
  221. ,
  222. typename Vector::item0, typename Vector::item1
  223. , typename Vector::item2
  224. > type;
  225. };
  226. };
  227. template<>
  228. struct pop_front_impl< aux::vector_tag<4> >
  229. {
  230. template< typename Vector > struct apply
  231. {
  232. typedef vector3<
  233. typename Vector::item1, typename Vector::item2
  234. , typename Vector::item3
  235. > type;
  236. };
  237. };
  238. template<>
  239. struct push_back_impl< aux::vector_tag<3> >
  240. {
  241. template< typename Vector, typename T > struct apply
  242. {
  243. typedef vector4<
  244. typename Vector::item0, typename Vector::item1
  245. , typename Vector::item2
  246. ,
  247. T
  248. > type;
  249. };
  250. };
  251. template<>
  252. struct pop_back_impl< aux::vector_tag<4> >
  253. {
  254. template< typename Vector > struct apply
  255. {
  256. typedef vector3<
  257. typename Vector::item0, typename Vector::item1
  258. , typename Vector::item2
  259. > type;
  260. };
  261. };
  262. template< typename V >
  263. struct v_at< V,4 >
  264. {
  265. typedef typename V::item4 type;
  266. };
  267. template<
  268. typename T0, typename T1, typename T2, typename T3, typename T4
  269. >
  270. struct vector5
  271. {
  272. typedef aux::vector_tag<5> tag;
  273. typedef vector5 type;
  274. typedef T0 item0;
  275. typedef T1 item1;
  276. typedef T2 item2;
  277. typedef T3 item3;
  278. typedef T4 item4;
  279. typedef void_ item5;
  280. typedef T4 back;
  281. typedef v_iter< type,0 > begin;
  282. typedef v_iter< type,5 > end;
  283. };
  284. template<>
  285. struct push_front_impl< aux::vector_tag<4> >
  286. {
  287. template< typename Vector, typename T > struct apply
  288. {
  289. typedef vector5<
  290. T
  291. ,
  292. typename Vector::item0, typename Vector::item1
  293. , typename Vector::item2, typename Vector::item3
  294. > type;
  295. };
  296. };
  297. template<>
  298. struct pop_front_impl< aux::vector_tag<5> >
  299. {
  300. template< typename Vector > struct apply
  301. {
  302. typedef vector4<
  303. typename Vector::item1, typename Vector::item2
  304. , typename Vector::item3, typename Vector::item4
  305. > type;
  306. };
  307. };
  308. template<>
  309. struct push_back_impl< aux::vector_tag<4> >
  310. {
  311. template< typename Vector, typename T > struct apply
  312. {
  313. typedef vector5<
  314. typename Vector::item0, typename Vector::item1
  315. , typename Vector::item2, typename Vector::item3
  316. ,
  317. T
  318. > type;
  319. };
  320. };
  321. template<>
  322. struct pop_back_impl< aux::vector_tag<5> >
  323. {
  324. template< typename Vector > struct apply
  325. {
  326. typedef vector4<
  327. typename Vector::item0, typename Vector::item1
  328. , typename Vector::item2, typename Vector::item3
  329. > type;
  330. };
  331. };
  332. template< typename V >
  333. struct v_at< V,5 >
  334. {
  335. typedef typename V::item5 type;
  336. };
  337. template<
  338. typename T0, typename T1, typename T2, typename T3, typename T4
  339. , typename T5
  340. >
  341. struct vector6
  342. {
  343. typedef aux::vector_tag<6> tag;
  344. typedef vector6 type;
  345. typedef T0 item0;
  346. typedef T1 item1;
  347. typedef T2 item2;
  348. typedef T3 item3;
  349. typedef T4 item4;
  350. typedef T5 item5;
  351. typedef void_ item6;
  352. typedef T5 back;
  353. typedef v_iter< type,0 > begin;
  354. typedef v_iter< type,6 > end;
  355. };
  356. template<>
  357. struct push_front_impl< aux::vector_tag<5> >
  358. {
  359. template< typename Vector, typename T > struct apply
  360. {
  361. typedef vector6<
  362. T
  363. ,
  364. typename Vector::item0, typename Vector::item1
  365. , typename Vector::item2, typename Vector::item3
  366. , typename Vector::item4
  367. > type;
  368. };
  369. };
  370. template<>
  371. struct pop_front_impl< aux::vector_tag<6> >
  372. {
  373. template< typename Vector > struct apply
  374. {
  375. typedef vector5<
  376. typename Vector::item1, typename Vector::item2
  377. , typename Vector::item3, typename Vector::item4
  378. , typename Vector::item5
  379. > type;
  380. };
  381. };
  382. template<>
  383. struct push_back_impl< aux::vector_tag<5> >
  384. {
  385. template< typename Vector, typename T > struct apply
  386. {
  387. typedef vector6<
  388. typename Vector::item0, typename Vector::item1
  389. , typename Vector::item2, typename Vector::item3
  390. , typename Vector::item4
  391. ,
  392. T
  393. > type;
  394. };
  395. };
  396. template<>
  397. struct pop_back_impl< aux::vector_tag<6> >
  398. {
  399. template< typename Vector > struct apply
  400. {
  401. typedef vector5<
  402. typename Vector::item0, typename Vector::item1
  403. , typename Vector::item2, typename Vector::item3
  404. , typename Vector::item4
  405. > type;
  406. };
  407. };
  408. template< typename V >
  409. struct v_at< V,6 >
  410. {
  411. typedef typename V::item6 type;
  412. };
  413. template<
  414. typename T0, typename T1, typename T2, typename T3, typename T4
  415. , typename T5, typename T6
  416. >
  417. struct vector7
  418. {
  419. typedef aux::vector_tag<7> tag;
  420. typedef vector7 type;
  421. typedef T0 item0;
  422. typedef T1 item1;
  423. typedef T2 item2;
  424. typedef T3 item3;
  425. typedef T4 item4;
  426. typedef T5 item5;
  427. typedef T6 item6;
  428. typedef void_ item7;
  429. typedef T6 back;
  430. typedef v_iter< type,0 > begin;
  431. typedef v_iter< type,7 > end;
  432. };
  433. template<>
  434. struct push_front_impl< aux::vector_tag<6> >
  435. {
  436. template< typename Vector, typename T > struct apply
  437. {
  438. typedef vector7<
  439. T
  440. ,
  441. typename Vector::item0, typename Vector::item1
  442. , typename Vector::item2, typename Vector::item3
  443. , typename Vector::item4, typename Vector::item5
  444. > type;
  445. };
  446. };
  447. template<>
  448. struct pop_front_impl< aux::vector_tag<7> >
  449. {
  450. template< typename Vector > struct apply
  451. {
  452. typedef vector6<
  453. typename Vector::item1, typename Vector::item2
  454. , typename Vector::item3, typename Vector::item4
  455. , typename Vector::item5, typename Vector::item6
  456. > type;
  457. };
  458. };
  459. template<>
  460. struct push_back_impl< aux::vector_tag<6> >
  461. {
  462. template< typename Vector, typename T > struct apply
  463. {
  464. typedef vector7<
  465. typename Vector::item0, typename Vector::item1
  466. , typename Vector::item2, typename Vector::item3
  467. , typename Vector::item4, typename Vector::item5
  468. ,
  469. T
  470. > type;
  471. };
  472. };
  473. template<>
  474. struct pop_back_impl< aux::vector_tag<7> >
  475. {
  476. template< typename Vector > struct apply
  477. {
  478. typedef vector6<
  479. typename Vector::item0, typename Vector::item1
  480. , typename Vector::item2, typename Vector::item3
  481. , typename Vector::item4, typename Vector::item5
  482. > type;
  483. };
  484. };
  485. template< typename V >
  486. struct v_at< V,7 >
  487. {
  488. typedef typename V::item7 type;
  489. };
  490. template<
  491. typename T0, typename T1, typename T2, typename T3, typename T4
  492. , typename T5, typename T6, typename T7
  493. >
  494. struct vector8
  495. {
  496. typedef aux::vector_tag<8> tag;
  497. typedef vector8 type;
  498. typedef T0 item0;
  499. typedef T1 item1;
  500. typedef T2 item2;
  501. typedef T3 item3;
  502. typedef T4 item4;
  503. typedef T5 item5;
  504. typedef T6 item6;
  505. typedef T7 item7;
  506. typedef void_ item8;
  507. typedef T7 back;
  508. typedef v_iter< type,0 > begin;
  509. typedef v_iter< type,8 > end;
  510. };
  511. template<>
  512. struct push_front_impl< aux::vector_tag<7> >
  513. {
  514. template< typename Vector, typename T > struct apply
  515. {
  516. typedef vector8<
  517. T
  518. ,
  519. typename Vector::item0, typename Vector::item1
  520. , typename Vector::item2, typename Vector::item3
  521. , typename Vector::item4, typename Vector::item5
  522. , typename Vector::item6
  523. > type;
  524. };
  525. };
  526. template<>
  527. struct pop_front_impl< aux::vector_tag<8> >
  528. {
  529. template< typename Vector > struct apply
  530. {
  531. typedef vector7<
  532. typename Vector::item1, typename Vector::item2
  533. , typename Vector::item3, typename Vector::item4
  534. , typename Vector::item5, typename Vector::item6
  535. , typename Vector::item7
  536. > type;
  537. };
  538. };
  539. template<>
  540. struct push_back_impl< aux::vector_tag<7> >
  541. {
  542. template< typename Vector, typename T > struct apply
  543. {
  544. typedef vector8<
  545. typename Vector::item0, typename Vector::item1
  546. , typename Vector::item2, typename Vector::item3
  547. , typename Vector::item4, typename Vector::item5
  548. , typename Vector::item6
  549. ,
  550. T
  551. > type;
  552. };
  553. };
  554. template<>
  555. struct pop_back_impl< aux::vector_tag<8> >
  556. {
  557. template< typename Vector > struct apply
  558. {
  559. typedef vector7<
  560. typename Vector::item0, typename Vector::item1
  561. , typename Vector::item2, typename Vector::item3
  562. , typename Vector::item4, typename Vector::item5
  563. , typename Vector::item6
  564. > type;
  565. };
  566. };
  567. template< typename V >
  568. struct v_at< V,8 >
  569. {
  570. typedef typename V::item8 type;
  571. };
  572. template<
  573. typename T0, typename T1, typename T2, typename T3, typename T4
  574. , typename T5, typename T6, typename T7, typename T8
  575. >
  576. struct vector9
  577. {
  578. typedef aux::vector_tag<9> tag;
  579. typedef vector9 type;
  580. typedef T0 item0;
  581. typedef T1 item1;
  582. typedef T2 item2;
  583. typedef T3 item3;
  584. typedef T4 item4;
  585. typedef T5 item5;
  586. typedef T6 item6;
  587. typedef T7 item7;
  588. typedef T8 item8;
  589. typedef void_ item9;
  590. typedef T8 back;
  591. typedef v_iter< type,0 > begin;
  592. typedef v_iter< type,9 > end;
  593. };
  594. template<>
  595. struct push_front_impl< aux::vector_tag<8> >
  596. {
  597. template< typename Vector, typename T > struct apply
  598. {
  599. typedef vector9<
  600. T
  601. ,
  602. typename Vector::item0, typename Vector::item1
  603. , typename Vector::item2, typename Vector::item3
  604. , typename Vector::item4, typename Vector::item5
  605. , typename Vector::item6, typename Vector::item7
  606. > type;
  607. };
  608. };
  609. template<>
  610. struct pop_front_impl< aux::vector_tag<9> >
  611. {
  612. template< typename Vector > struct apply
  613. {
  614. typedef vector8<
  615. typename Vector::item1, typename Vector::item2
  616. , typename Vector::item3, typename Vector::item4
  617. , typename Vector::item5, typename Vector::item6
  618. , typename Vector::item7, typename Vector::item8
  619. > type;
  620. };
  621. };
  622. template<>
  623. struct push_back_impl< aux::vector_tag<8> >
  624. {
  625. template< typename Vector, typename T > struct apply
  626. {
  627. typedef vector9<
  628. typename Vector::item0, typename Vector::item1
  629. , typename Vector::item2, typename Vector::item3
  630. , typename Vector::item4, typename Vector::item5
  631. , typename Vector::item6, typename Vector::item7
  632. ,
  633. T
  634. > type;
  635. };
  636. };
  637. template<>
  638. struct pop_back_impl< aux::vector_tag<9> >
  639. {
  640. template< typename Vector > struct apply
  641. {
  642. typedef vector8<
  643. typename Vector::item0, typename Vector::item1
  644. , typename Vector::item2, typename Vector::item3
  645. , typename Vector::item4, typename Vector::item5
  646. , typename Vector::item6, typename Vector::item7
  647. > type;
  648. };
  649. };
  650. template< typename V >
  651. struct v_at< V,9 >
  652. {
  653. typedef typename V::item9 type;
  654. };
  655. template<
  656. typename T0, typename T1, typename T2, typename T3, typename T4
  657. , typename T5, typename T6, typename T7, typename T8, typename T9
  658. >
  659. struct vector10
  660. {
  661. typedef aux::vector_tag<10> tag;
  662. typedef vector10 type;
  663. typedef T0 item0;
  664. typedef T1 item1;
  665. typedef T2 item2;
  666. typedef T3 item3;
  667. typedef T4 item4;
  668. typedef T5 item5;
  669. typedef T6 item6;
  670. typedef T7 item7;
  671. typedef T8 item8;
  672. typedef T9 item9;
  673. typedef void_ item10;
  674. typedef T9 back;
  675. typedef v_iter< type,0 > begin;
  676. typedef v_iter< type,10 > end;
  677. };
  678. template<>
  679. struct push_front_impl< aux::vector_tag<9> >
  680. {
  681. template< typename Vector, typename T > struct apply
  682. {
  683. typedef vector10<
  684. T
  685. ,
  686. typename Vector::item0, typename Vector::item1
  687. , typename Vector::item2, typename Vector::item3
  688. , typename Vector::item4, typename Vector::item5
  689. , typename Vector::item6, typename Vector::item7
  690. , typename Vector::item8
  691. > type;
  692. };
  693. };
  694. template<>
  695. struct pop_front_impl< aux::vector_tag<10> >
  696. {
  697. template< typename Vector > struct apply
  698. {
  699. typedef vector9<
  700. typename Vector::item1, typename Vector::item2
  701. , typename Vector::item3, typename Vector::item4
  702. , typename Vector::item5, typename Vector::item6
  703. , typename Vector::item7, typename Vector::item8
  704. , typename Vector::item9
  705. > type;
  706. };
  707. };
  708. template<>
  709. struct push_back_impl< aux::vector_tag<9> >
  710. {
  711. template< typename Vector, typename T > struct apply
  712. {
  713. typedef vector10<
  714. typename Vector::item0, typename Vector::item1
  715. , typename Vector::item2, typename Vector::item3
  716. , typename Vector::item4, typename Vector::item5
  717. , typename Vector::item6, typename Vector::item7
  718. , typename Vector::item8
  719. ,
  720. T
  721. > type;
  722. };
  723. };
  724. template<>
  725. struct pop_back_impl< aux::vector_tag<10> >
  726. {
  727. template< typename Vector > struct apply
  728. {
  729. typedef vector9<
  730. typename Vector::item0, typename Vector::item1
  731. , typename Vector::item2, typename Vector::item3
  732. , typename Vector::item4, typename Vector::item5
  733. , typename Vector::item6, typename Vector::item7
  734. , typename Vector::item8
  735. > type;
  736. };
  737. };
  738. template< typename V >
  739. struct v_at< V,10 >
  740. {
  741. typedef typename V::item10 type;
  742. };
  743. }}