map10.hpp 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  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< typename Map>
  12. struct m_at< Map,0 >
  13. {
  14. typedef typename Map::item0 type;
  15. };
  16. template< typename Key, typename T, typename Base >
  17. struct m_item< 1,Key,T,Base >
  18. : m_item_< Key,T,Base >
  19. {
  20. typedef pair< Key,T > item0;
  21. };
  22. template<
  23. typename P0
  24. >
  25. struct map1
  26. : m_item<
  27. 1
  28. , typename P0::first
  29. , typename P0::second
  30. , map0< >
  31. >
  32. {
  33. typedef map1 type;
  34. };
  35. template< typename Map>
  36. struct m_at< Map,1 >
  37. {
  38. typedef typename Map::item1 type;
  39. };
  40. template< typename Key, typename T, typename Base >
  41. struct m_item< 2,Key,T,Base >
  42. : m_item_< Key,T,Base >
  43. {
  44. typedef pair< Key,T > item1;
  45. };
  46. template<
  47. typename P0, typename P1
  48. >
  49. struct map2
  50. : m_item<
  51. 2
  52. , typename P1::first
  53. , typename P1::second
  54. , map1<P0>
  55. >
  56. {
  57. typedef map2 type;
  58. };
  59. template< typename Map>
  60. struct m_at< Map,2 >
  61. {
  62. typedef typename Map::item2 type;
  63. };
  64. template< typename Key, typename T, typename Base >
  65. struct m_item< 3,Key,T,Base >
  66. : m_item_< Key,T,Base >
  67. {
  68. typedef pair< Key,T > item2;
  69. };
  70. template<
  71. typename P0, typename P1, typename P2
  72. >
  73. struct map3
  74. : m_item<
  75. 3
  76. , typename P2::first
  77. , typename P2::second
  78. , map2< P0,P1 >
  79. >
  80. {
  81. typedef map3 type;
  82. };
  83. template< typename Map>
  84. struct m_at< Map,3 >
  85. {
  86. typedef typename Map::item3 type;
  87. };
  88. template< typename Key, typename T, typename Base >
  89. struct m_item< 4,Key,T,Base >
  90. : m_item_< Key,T,Base >
  91. {
  92. typedef pair< Key,T > item3;
  93. };
  94. template<
  95. typename P0, typename P1, typename P2, typename P3
  96. >
  97. struct map4
  98. : m_item<
  99. 4
  100. , typename P3::first
  101. , typename P3::second
  102. , map3< P0,P1,P2 >
  103. >
  104. {
  105. typedef map4 type;
  106. };
  107. template< typename Map>
  108. struct m_at< Map,4 >
  109. {
  110. typedef typename Map::item4 type;
  111. };
  112. template< typename Key, typename T, typename Base >
  113. struct m_item< 5,Key,T,Base >
  114. : m_item_< Key,T,Base >
  115. {
  116. typedef pair< Key,T > item4;
  117. };
  118. template<
  119. typename P0, typename P1, typename P2, typename P3, typename P4
  120. >
  121. struct map5
  122. : m_item<
  123. 5
  124. , typename P4::first
  125. , typename P4::second
  126. , map4< P0,P1,P2,P3 >
  127. >
  128. {
  129. typedef map5 type;
  130. };
  131. template< typename Map>
  132. struct m_at< Map,5 >
  133. {
  134. typedef typename Map::item5 type;
  135. };
  136. template< typename Key, typename T, typename Base >
  137. struct m_item< 6,Key,T,Base >
  138. : m_item_< Key,T,Base >
  139. {
  140. typedef pair< Key,T > item5;
  141. };
  142. template<
  143. typename P0, typename P1, typename P2, typename P3, typename P4
  144. , typename P5
  145. >
  146. struct map6
  147. : m_item<
  148. 6
  149. , typename P5::first
  150. , typename P5::second
  151. , map5< P0,P1,P2,P3,P4 >
  152. >
  153. {
  154. typedef map6 type;
  155. };
  156. template< typename Map>
  157. struct m_at< Map,6 >
  158. {
  159. typedef typename Map::item6 type;
  160. };
  161. template< typename Key, typename T, typename Base >
  162. struct m_item< 7,Key,T,Base >
  163. : m_item_< Key,T,Base >
  164. {
  165. typedef pair< Key,T > item6;
  166. };
  167. template<
  168. typename P0, typename P1, typename P2, typename P3, typename P4
  169. , typename P5, typename P6
  170. >
  171. struct map7
  172. : m_item<
  173. 7
  174. , typename P6::first
  175. , typename P6::second
  176. , map6< P0,P1,P2,P3,P4,P5 >
  177. >
  178. {
  179. typedef map7 type;
  180. };
  181. template< typename Map>
  182. struct m_at< Map,7 >
  183. {
  184. typedef typename Map::item7 type;
  185. };
  186. template< typename Key, typename T, typename Base >
  187. struct m_item< 8,Key,T,Base >
  188. : m_item_< Key,T,Base >
  189. {
  190. typedef pair< Key,T > item7;
  191. };
  192. template<
  193. typename P0, typename P1, typename P2, typename P3, typename P4
  194. , typename P5, typename P6, typename P7
  195. >
  196. struct map8
  197. : m_item<
  198. 8
  199. , typename P7::first
  200. , typename P7::second
  201. , map7< P0,P1,P2,P3,P4,P5,P6 >
  202. >
  203. {
  204. typedef map8 type;
  205. };
  206. template< typename Map>
  207. struct m_at< Map,8 >
  208. {
  209. typedef typename Map::item8 type;
  210. };
  211. template< typename Key, typename T, typename Base >
  212. struct m_item< 9,Key,T,Base >
  213. : m_item_< Key,T,Base >
  214. {
  215. typedef pair< Key,T > item8;
  216. };
  217. template<
  218. typename P0, typename P1, typename P2, typename P3, typename P4
  219. , typename P5, typename P6, typename P7, typename P8
  220. >
  221. struct map9
  222. : m_item<
  223. 9
  224. , typename P8::first
  225. , typename P8::second
  226. , map8< P0,P1,P2,P3,P4,P5,P6,P7 >
  227. >
  228. {
  229. typedef map9 type;
  230. };
  231. template< typename Map>
  232. struct m_at< Map,9 >
  233. {
  234. typedef typename Map::item9 type;
  235. };
  236. template< typename Key, typename T, typename Base >
  237. struct m_item< 10,Key,T,Base >
  238. : m_item_< Key,T,Base >
  239. {
  240. typedef pair< Key,T > item9;
  241. };
  242. template<
  243. typename P0, typename P1, typename P2, typename P3, typename P4
  244. , typename P5, typename P6, typename P7, typename P8, typename P9
  245. >
  246. struct map10
  247. : m_item<
  248. 10
  249. , typename P9::first
  250. , typename P9::second
  251. , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >
  252. >
  253. {
  254. typedef map10 type;
  255. };
  256. }}