#include #include #include using namespace std; //#define BOOST_MPL_PREPROCESSING_MODE #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #define BOOST_MPL_LIMIT_MAP_SIZE 150 #include enum EnumType { enum1, enum2, enum3, enum4, enum5, enum6, enum7, enum8, enum9, enum10, enum11, enum12, enum13, enum14, enum15, enum16, enum17, enum18, enum19, enum20, enum21, enum22, enum23, enum24, enum25, enum26, enum27, enum28, enum29, enum30, enum31, enum32, enum33, enum34, enum35, enum36, enum37, enum38, enum39, enum40, enum41, enum42, enum43, enum44, enum45, enum46, enum47, enum48, enum49, enum50, enum51, enum52, enum53, enum54, enum55, enum56, enum57, enum58, enum59, enum60, enum61, enum62, enum63, enum64, enum65, enum66, enum67, enum68, enum69, enum70, enum71, enum72, enum73, enum74, enum75, enum76, enum77, enum78, enum79, enum80, enum81, enum82, enum83, enum84, enum85, enum86, enum87, enum88, enum89, enum90, enum91, enum92, enum93, enum94, enum95, enum96, enum97, enum98, enum99, enum100, enum101, enum102, enum103, enum104, enum105, enum106, enum107, enum108, enum109, enum110, enum111, enum112, enum113, enum114, enum115, enum116, enum117, enum118, enum119, enum120, enum121, enum122, enum123, enum124, enum125, enum126, enum127, enum128, enum129, enum130, enum131, enum132, enum133, enum134, enum135, enum136, enum137, enum138, enum139, enum140, enum141, enum142, enum143, enum144, enum145, enum146, enum147, enum148, enum149, enum150 }; struct struct1 {}; struct struct2 {}; struct struct3 {}; struct struct4 {}; struct struct5 {}; struct struct6 {}; struct struct7 {}; struct struct8 {}; struct struct9 {}; struct struct10 {}; struct struct11 {}; struct struct12 {}; struct struct13 {}; struct struct14 {}; struct struct15 {}; struct struct16 {}; struct struct17 {}; struct struct18 {}; struct struct19 {}; struct struct20 {}; struct struct21 {}; struct struct22 {}; struct struct23 {}; struct struct24 {}; struct struct25 {}; struct struct26 {}; struct struct27 {}; struct struct28 {}; struct struct29 {}; struct struct30 {}; struct struct31 {}; struct struct32 {}; struct struct33 {}; struct struct34 {}; struct struct35 {}; struct struct36 {}; struct struct37 {}; struct struct38 {}; struct struct39 {}; struct struct40 {}; struct struct41 {}; struct struct42 {}; struct struct43 {}; struct struct44 {}; struct struct45 {}; struct struct46 {}; struct struct47 {}; struct struct48 {}; struct struct49 {}; struct struct50 {}; struct struct51 {}; struct struct52 {}; struct struct53 {}; struct struct54 {}; struct struct55 {}; struct struct56 {}; struct struct57 {}; struct struct58 {}; struct struct59 {}; struct struct60 {}; struct struct61 {}; struct struct62 {}; struct struct63 {}; struct struct64 {}; struct struct65 {}; struct struct66 {}; struct struct67 {}; struct struct68 {}; struct struct69 {}; struct struct70 {}; struct struct71 {}; struct struct72 {}; struct struct73 {}; struct struct74 {}; struct struct75 {}; struct struct76 {}; struct struct77 {}; struct struct78 {}; struct struct79 {}; struct struct80 {}; struct struct81 {}; struct struct82 {}; struct struct83 {}; struct struct84 {}; struct struct85 {}; struct struct86 {}; struct struct87 {}; struct struct88 {}; struct struct89 {}; struct struct90 {}; struct struct91 {}; struct struct92 {}; struct struct93 {}; struct struct94 {}; struct struct95 {}; struct struct96 {}; struct struct97 {}; struct struct98 {}; struct struct99 {}; struct struct100 {}; struct struct101 {}; struct struct102 {}; struct struct103 {}; struct struct104 {}; struct struct105 {}; struct struct106 {}; struct struct107 {}; struct struct108 {}; struct struct109 {}; struct struct110 {}; struct struct111 {}; struct struct112 {}; struct struct113 {}; struct struct114 {}; struct struct115 {}; struct struct116 {}; struct struct117 {}; struct struct118 {}; struct struct119 {}; struct struct120 {}; struct struct121 {}; struct struct122 {}; struct struct123 {}; struct struct124 {}; struct struct125 {}; struct struct126 {}; struct struct127 {}; struct struct128 {}; struct struct129 {}; struct struct130 {}; struct struct131 {}; struct struct132 {}; struct struct133 {}; struct struct134 {}; struct struct135 {}; struct struct136 {}; struct struct137 {}; struct struct138 {}; struct struct139 {}; struct struct140 {}; struct struct141 {}; struct struct142 {}; struct struct143 {}; struct struct144 {}; struct struct145 {}; struct struct146 {}; struct struct147 {}; struct struct148 {}; struct struct149 {}; struct struct150 {}; typedef boost::mpl::map < boost::mpl::pair, struct1>, boost::mpl::pair, struct2>, boost::mpl::pair, struct3>, boost::mpl::pair, struct4>, boost::mpl::pair, struct5>, boost::mpl::pair, struct6>, boost::mpl::pair, struct7>, boost::mpl::pair, struct8>, boost::mpl::pair, struct9>, boost::mpl::pair, struct10>, boost::mpl::pair, struct11>, boost::mpl::pair, struct12>, boost::mpl::pair, struct13>, boost::mpl::pair, struct14>, boost::mpl::pair, struct15>, boost::mpl::pair, struct16>, boost::mpl::pair, struct17>, boost::mpl::pair, struct18>, boost::mpl::pair, struct19>, boost::mpl::pair, struct20>, boost::mpl::pair, struct21>, boost::mpl::pair, struct22>, boost::mpl::pair, struct23>, boost::mpl::pair, struct24>, boost::mpl::pair, struct25>, boost::mpl::pair, struct26>, boost::mpl::pair, struct27>, boost::mpl::pair, struct28>, boost::mpl::pair, struct29>, boost::mpl::pair, struct30>, boost::mpl::pair, struct31>, boost::mpl::pair, struct32>, boost::mpl::pair, struct33>, boost::mpl::pair, struct34>, boost::mpl::pair, struct35>, boost::mpl::pair, struct36>, boost::mpl::pair, struct37>, boost::mpl::pair, struct38>, boost::mpl::pair, struct39>, boost::mpl::pair, struct40>, boost::mpl::pair, struct41>, boost::mpl::pair, struct42>, boost::mpl::pair, struct43>, boost::mpl::pair, struct44>, boost::mpl::pair, struct45>, boost::mpl::pair, struct46>, boost::mpl::pair, struct47>, boost::mpl::pair, struct48>, boost::mpl::pair, struct49>, boost::mpl::pair, struct50>, boost::mpl::pair, struct51>, boost::mpl::pair, struct52>, boost::mpl::pair, struct53>, boost::mpl::pair, struct54>, boost::mpl::pair, struct55>, boost::mpl::pair, struct56>, boost::mpl::pair, struct57>, boost::mpl::pair, struct58>, boost::mpl::pair, struct59>, boost::mpl::pair, struct60>, boost::mpl::pair, struct61>, boost::mpl::pair, struct62>, boost::mpl::pair, struct63>, boost::mpl::pair, struct64>, boost::mpl::pair, struct65>, boost::mpl::pair, struct66>, boost::mpl::pair, struct67>, boost::mpl::pair, struct68>, boost::mpl::pair, struct69>, boost::mpl::pair, struct70>, boost::mpl::pair, struct71>, boost::mpl::pair, struct72>, boost::mpl::pair, struct73>, boost::mpl::pair, struct74>, boost::mpl::pair, struct75>, boost::mpl::pair, struct76>, boost::mpl::pair, struct77>, boost::mpl::pair, struct78>, boost::mpl::pair, struct79>, boost::mpl::pair, struct80>, boost::mpl::pair, struct81>, boost::mpl::pair, struct82>, boost::mpl::pair, struct83>, boost::mpl::pair, struct84>, boost::mpl::pair, struct85>, boost::mpl::pair, struct86>, boost::mpl::pair, struct87>, boost::mpl::pair, struct88>, boost::mpl::pair, struct89>, boost::mpl::pair, struct90>, boost::mpl::pair, struct91>, boost::mpl::pair, struct92>, boost::mpl::pair, struct93>, boost::mpl::pair, struct94>, boost::mpl::pair, struct95>, boost::mpl::pair, struct96>, boost::mpl::pair, struct97>, boost::mpl::pair, struct98>, boost::mpl::pair, struct99>, boost::mpl::pair, struct100>, boost::mpl::pair, struct101>, boost::mpl::pair, struct102>, boost::mpl::pair, struct103>, boost::mpl::pair, struct104>, boost::mpl::pair, struct105>, boost::mpl::pair, struct106>, boost::mpl::pair, struct107>, boost::mpl::pair, struct108>, boost::mpl::pair, struct109>, boost::mpl::pair, struct110>, boost::mpl::pair, struct111>, boost::mpl::pair, struct112>, boost::mpl::pair, struct113>, boost::mpl::pair, struct114>, boost::mpl::pair, struct115>, boost::mpl::pair, struct116>, boost::mpl::pair, struct117>, boost::mpl::pair, struct118>, boost::mpl::pair, struct119>, boost::mpl::pair, struct120>, boost::mpl::pair, struct121>, boost::mpl::pair, struct122>, boost::mpl::pair, struct123>, boost::mpl::pair, struct124>, boost::mpl::pair, struct125>, boost::mpl::pair, struct126>, boost::mpl::pair, struct127>, boost::mpl::pair, struct128>, boost::mpl::pair, struct129>, boost::mpl::pair, struct130>, boost::mpl::pair, struct131>, boost::mpl::pair, struct132>, boost::mpl::pair, struct133>, boost::mpl::pair, struct134>, boost::mpl::pair, struct135>, boost::mpl::pair, struct136>, boost::mpl::pair, struct137>, boost::mpl::pair, struct138>, boost::mpl::pair, struct139>, boost::mpl::pair, struct140>, boost::mpl::pair, struct141>, boost::mpl::pair, struct142>, boost::mpl::pair, struct143>, boost::mpl::pair, struct144>, boost::mpl::pair, struct145>, boost::mpl::pair, struct146>, boost::mpl::pair, struct147>, boost::mpl::pair, struct148>, boost::mpl::pair, struct149>, boost::mpl::pair, struct150> > new_map; #include int main () { namespace mpl = boost::mpl; cout << "type associated with enum150: " << typeid(mpl::at< new_map, mpl::int_ >::type).name() << '\n'; return 0; }