File indexing completed on 2025-01-18 09:41:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 namespace boost { namespace mpl {
0014
0015 template< typename Map>
0016 struct m_at< Map,0 >
0017 {
0018 typedef typename Map::item0 type;
0019 };
0020
0021 template< typename Key, typename T, typename Base >
0022 struct m_item< 1,Key,T,Base >
0023 : m_item_< Key,T,Base >
0024 {
0025 typedef pair< Key,T > item0;
0026 };
0027
0028 template<
0029 typename P0
0030 >
0031 struct map1
0032 : m_item<
0033 1
0034 , typename P0::first
0035 , typename P0::second
0036 , map0< >
0037 >
0038 {
0039 typedef map1 type;
0040 };
0041
0042 template< typename Map>
0043 struct m_at< Map,1 >
0044 {
0045 typedef typename Map::item1 type;
0046 };
0047
0048 template< typename Key, typename T, typename Base >
0049 struct m_item< 2,Key,T,Base >
0050 : m_item_< Key,T,Base >
0051 {
0052 typedef pair< Key,T > item1;
0053 };
0054
0055 template<
0056 typename P0, typename P1
0057 >
0058 struct map2
0059 : m_item<
0060 2
0061 , typename P1::first
0062 , typename P1::second
0063 , map1<P0>
0064 >
0065 {
0066 typedef map2 type;
0067 };
0068
0069 template< typename Map>
0070 struct m_at< Map,2 >
0071 {
0072 typedef typename Map::item2 type;
0073 };
0074
0075 template< typename Key, typename T, typename Base >
0076 struct m_item< 3,Key,T,Base >
0077 : m_item_< Key,T,Base >
0078 {
0079 typedef pair< Key,T > item2;
0080 };
0081
0082 template<
0083 typename P0, typename P1, typename P2
0084 >
0085 struct map3
0086 : m_item<
0087 3
0088 , typename P2::first
0089 , typename P2::second
0090 , map2< P0,P1 >
0091 >
0092 {
0093 typedef map3 type;
0094 };
0095
0096 template< typename Map>
0097 struct m_at< Map,3 >
0098 {
0099 typedef typename Map::item3 type;
0100 };
0101
0102 template< typename Key, typename T, typename Base >
0103 struct m_item< 4,Key,T,Base >
0104 : m_item_< Key,T,Base >
0105 {
0106 typedef pair< Key,T > item3;
0107 };
0108
0109 template<
0110 typename P0, typename P1, typename P2, typename P3
0111 >
0112 struct map4
0113 : m_item<
0114 4
0115 , typename P3::first
0116 , typename P3::second
0117 , map3< P0,P1,P2 >
0118 >
0119 {
0120 typedef map4 type;
0121 };
0122
0123 template< typename Map>
0124 struct m_at< Map,4 >
0125 {
0126 typedef typename Map::item4 type;
0127 };
0128
0129 template< typename Key, typename T, typename Base >
0130 struct m_item< 5,Key,T,Base >
0131 : m_item_< Key,T,Base >
0132 {
0133 typedef pair< Key,T > item4;
0134 };
0135
0136 template<
0137 typename P0, typename P1, typename P2, typename P3, typename P4
0138 >
0139 struct map5
0140 : m_item<
0141 5
0142 , typename P4::first
0143 , typename P4::second
0144 , map4< P0,P1,P2,P3 >
0145 >
0146 {
0147 typedef map5 type;
0148 };
0149
0150 template< typename Map>
0151 struct m_at< Map,5 >
0152 {
0153 typedef typename Map::item5 type;
0154 };
0155
0156 template< typename Key, typename T, typename Base >
0157 struct m_item< 6,Key,T,Base >
0158 : m_item_< Key,T,Base >
0159 {
0160 typedef pair< Key,T > item5;
0161 };
0162
0163 template<
0164 typename P0, typename P1, typename P2, typename P3, typename P4
0165 , typename P5
0166 >
0167 struct map6
0168 : m_item<
0169 6
0170 , typename P5::first
0171 , typename P5::second
0172 , map5< P0,P1,P2,P3,P4 >
0173 >
0174 {
0175 typedef map6 type;
0176 };
0177
0178 template< typename Map>
0179 struct m_at< Map,6 >
0180 {
0181 typedef typename Map::item6 type;
0182 };
0183
0184 template< typename Key, typename T, typename Base >
0185 struct m_item< 7,Key,T,Base >
0186 : m_item_< Key,T,Base >
0187 {
0188 typedef pair< Key,T > item6;
0189 };
0190
0191 template<
0192 typename P0, typename P1, typename P2, typename P3, typename P4
0193 , typename P5, typename P6
0194 >
0195 struct map7
0196 : m_item<
0197 7
0198 , typename P6::first
0199 , typename P6::second
0200 , map6< P0,P1,P2,P3,P4,P5 >
0201 >
0202 {
0203 typedef map7 type;
0204 };
0205
0206 template< typename Map>
0207 struct m_at< Map,7 >
0208 {
0209 typedef typename Map::item7 type;
0210 };
0211
0212 template< typename Key, typename T, typename Base >
0213 struct m_item< 8,Key,T,Base >
0214 : m_item_< Key,T,Base >
0215 {
0216 typedef pair< Key,T > item7;
0217 };
0218
0219 template<
0220 typename P0, typename P1, typename P2, typename P3, typename P4
0221 , typename P5, typename P6, typename P7
0222 >
0223 struct map8
0224 : m_item<
0225 8
0226 , typename P7::first
0227 , typename P7::second
0228 , map7< P0,P1,P2,P3,P4,P5,P6 >
0229 >
0230 {
0231 typedef map8 type;
0232 };
0233
0234 template< typename Map>
0235 struct m_at< Map,8 >
0236 {
0237 typedef typename Map::item8 type;
0238 };
0239
0240 template< typename Key, typename T, typename Base >
0241 struct m_item< 9,Key,T,Base >
0242 : m_item_< Key,T,Base >
0243 {
0244 typedef pair< Key,T > item8;
0245 };
0246
0247 template<
0248 typename P0, typename P1, typename P2, typename P3, typename P4
0249 , typename P5, typename P6, typename P7, typename P8
0250 >
0251 struct map9
0252 : m_item<
0253 9
0254 , typename P8::first
0255 , typename P8::second
0256 , map8< P0,P1,P2,P3,P4,P5,P6,P7 >
0257 >
0258 {
0259 typedef map9 type;
0260 };
0261
0262 template< typename Map>
0263 struct m_at< Map,9 >
0264 {
0265 typedef typename Map::item9 type;
0266 };
0267
0268 template< typename Key, typename T, typename Base >
0269 struct m_item< 10,Key,T,Base >
0270 : m_item_< Key,T,Base >
0271 {
0272 typedef pair< Key,T > item9;
0273 };
0274
0275 template<
0276 typename P0, typename P1, typename P2, typename P3, typename P4
0277 , typename P5, typename P6, typename P7, typename P8, typename P9
0278 >
0279 struct map10
0280 : m_item<
0281 10
0282 , typename P9::first
0283 , typename P9::second
0284 , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >
0285 >
0286 {
0287 typedef map10 type;
0288 };
0289
0290 }}