map10.hpp 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. // Copyright Aleksey Gurtovoy 2000-2004
  2. // Copyright David Abrahams 2003-2004
  3. //
  4. // Distributed under the Boost Software License, Version 1.0.
  5. // (See accompanying file LICENSE_1_0.txt or copy at
  6. // http://www.boost.org/LICENSE_1_0.txt)
  7. //
  8. // Preprocessed version of "boost/mpl/map/map10.hpp" header
  9. // -- DO NOT modify by hand!
  10. namespace boost { namespace mpl {
  11. template<>
  12. struct m_at_impl<0>
  13. {
  14. template< typename Map > struct result_
  15. {
  16. typedef typename Map::item0 type;
  17. };
  18. };
  19. template<>
  20. struct m_item_impl<1>
  21. {
  22. template< typename Key, typename T, typename Base > struct result_
  23. : m_item_< Key,T,Base >
  24. {
  25. typedef pair< Key,T > item0;
  26. };
  27. };
  28. template<
  29. typename P0
  30. >
  31. struct map1
  32. : m_item<
  33. 1
  34. , typename P0::first
  35. , typename P0::second
  36. , map0< >
  37. >
  38. {
  39. typedef map1 type;
  40. };
  41. template<>
  42. struct m_at_impl<1>
  43. {
  44. template< typename Map > struct result_
  45. {
  46. typedef typename Map::item1 type;
  47. };
  48. };
  49. template<>
  50. struct m_item_impl<2>
  51. {
  52. template< typename Key, typename T, typename Base > struct result_
  53. : m_item_< Key,T,Base >
  54. {
  55. typedef pair< Key,T > item1;
  56. };
  57. };
  58. template<
  59. typename P0, typename P1
  60. >
  61. struct map2
  62. : m_item<
  63. 2
  64. , typename P1::first
  65. , typename P1::second
  66. , map1<P0>
  67. >
  68. {
  69. typedef map2 type;
  70. };
  71. template<>
  72. struct m_at_impl<2>
  73. {
  74. template< typename Map > struct result_
  75. {
  76. typedef typename Map::item2 type;
  77. };
  78. };
  79. template<>
  80. struct m_item_impl<3>
  81. {
  82. template< typename Key, typename T, typename Base > struct result_
  83. : m_item_< Key,T,Base >
  84. {
  85. typedef pair< Key,T > item2;
  86. };
  87. };
  88. template<
  89. typename P0, typename P1, typename P2
  90. >
  91. struct map3
  92. : m_item<
  93. 3
  94. , typename P2::first
  95. , typename P2::second
  96. , map2< P0,P1 >
  97. >
  98. {
  99. typedef map3 type;
  100. };
  101. template<>
  102. struct m_at_impl<3>
  103. {
  104. template< typename Map > struct result_
  105. {
  106. typedef typename Map::item3 type;
  107. };
  108. };
  109. template<>
  110. struct m_item_impl<4>
  111. {
  112. template< typename Key, typename T, typename Base > struct result_
  113. : m_item_< Key,T,Base >
  114. {
  115. typedef pair< Key,T > item3;
  116. };
  117. };
  118. template<
  119. typename P0, typename P1, typename P2, typename P3
  120. >
  121. struct map4
  122. : m_item<
  123. 4
  124. , typename P3::first
  125. , typename P3::second
  126. , map3< P0,P1,P2 >
  127. >
  128. {
  129. typedef map4 type;
  130. };
  131. template<>
  132. struct m_at_impl<4>
  133. {
  134. template< typename Map > struct result_
  135. {
  136. typedef typename Map::item4 type;
  137. };
  138. };
  139. template<>
  140. struct m_item_impl<5>
  141. {
  142. template< typename Key, typename T, typename Base > struct result_
  143. : m_item_< Key,T,Base >
  144. {
  145. typedef pair< Key,T > item4;
  146. };
  147. };
  148. template<
  149. typename P0, typename P1, typename P2, typename P3, typename P4
  150. >
  151. struct map5
  152. : m_item<
  153. 5
  154. , typename P4::first
  155. , typename P4::second
  156. , map4< P0,P1,P2,P3 >
  157. >
  158. {
  159. typedef map5 type;
  160. };
  161. template<>
  162. struct m_at_impl<5>
  163. {
  164. template< typename Map > struct result_
  165. {
  166. typedef typename Map::item5 type;
  167. };
  168. };
  169. template<>
  170. struct m_item_impl<6>
  171. {
  172. template< typename Key, typename T, typename Base > struct result_
  173. : m_item_< Key,T,Base >
  174. {
  175. typedef pair< Key,T > item5;
  176. };
  177. };
  178. template<
  179. typename P0, typename P1, typename P2, typename P3, typename P4
  180. , typename P5
  181. >
  182. struct map6
  183. : m_item<
  184. 6
  185. , typename P5::first
  186. , typename P5::second
  187. , map5< P0,P1,P2,P3,P4 >
  188. >
  189. {
  190. typedef map6 type;
  191. };
  192. template<>
  193. struct m_at_impl<6>
  194. {
  195. template< typename Map > struct result_
  196. {
  197. typedef typename Map::item6 type;
  198. };
  199. };
  200. template<>
  201. struct m_item_impl<7>
  202. {
  203. template< typename Key, typename T, typename Base > struct result_
  204. : m_item_< Key,T,Base >
  205. {
  206. typedef pair< Key,T > item6;
  207. };
  208. };
  209. template<
  210. typename P0, typename P1, typename P2, typename P3, typename P4
  211. , typename P5, typename P6
  212. >
  213. struct map7
  214. : m_item<
  215. 7
  216. , typename P6::first
  217. , typename P6::second
  218. , map6< P0,P1,P2,P3,P4,P5 >
  219. >
  220. {
  221. typedef map7 type;
  222. };
  223. template<>
  224. struct m_at_impl<7>
  225. {
  226. template< typename Map > struct result_
  227. {
  228. typedef typename Map::item7 type;
  229. };
  230. };
  231. template<>
  232. struct m_item_impl<8>
  233. {
  234. template< typename Key, typename T, typename Base > struct result_
  235. : m_item_< Key,T,Base >
  236. {
  237. typedef pair< Key,T > item7;
  238. };
  239. };
  240. template<
  241. typename P0, typename P1, typename P2, typename P3, typename P4
  242. , typename P5, typename P6, typename P7
  243. >
  244. struct map8
  245. : m_item<
  246. 8
  247. , typename P7::first
  248. , typename P7::second
  249. , map7< P0,P1,P2,P3,P4,P5,P6 >
  250. >
  251. {
  252. typedef map8 type;
  253. };
  254. template<>
  255. struct m_at_impl<8>
  256. {
  257. template< typename Map > struct result_
  258. {
  259. typedef typename Map::item8 type;
  260. };
  261. };
  262. template<>
  263. struct m_item_impl<9>
  264. {
  265. template< typename Key, typename T, typename Base > struct result_
  266. : m_item_< Key,T,Base >
  267. {
  268. typedef pair< Key,T > item8;
  269. };
  270. };
  271. template<
  272. typename P0, typename P1, typename P2, typename P3, typename P4
  273. , typename P5, typename P6, typename P7, typename P8
  274. >
  275. struct map9
  276. : m_item<
  277. 9
  278. , typename P8::first
  279. , typename P8::second
  280. , map8< P0,P1,P2,P3,P4,P5,P6,P7 >
  281. >
  282. {
  283. typedef map9 type;
  284. };
  285. template<>
  286. struct m_at_impl<9>
  287. {
  288. template< typename Map > struct result_
  289. {
  290. typedef typename Map::item9 type;
  291. };
  292. };
  293. template<>
  294. struct m_item_impl<10>
  295. {
  296. template< typename Key, typename T, typename Base > struct result_
  297. : m_item_< Key,T,Base >
  298. {
  299. typedef pair< Key,T > item9;
  300. };
  301. };
  302. template<
  303. typename P0, typename P1, typename P2, typename P3, typename P4
  304. , typename P5, typename P6, typename P7, typename P8, typename P9
  305. >
  306. struct map10
  307. : m_item<
  308. 10
  309. , typename P9::first
  310. , typename P9::second
  311. , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >
  312. >
  313. {
  314. typedef map10 type;
  315. };
  316. }}