
Johan, can you please be more specific? MPL has a map construct mpl::map it can be used like: typedef mpl::map<mpl::pair<int,double>, mpl::pair<float, SomeOtherType> > MyMap; BOOST_MPL_ASSERT(( is_same<mpl::at<MyMap, int>::type, double> )); You can also map a discriminator value to some type: typedef mpl::map< mpl::pair<mpl::int_<0>, double>, mpl::pair<mpl::int_<1>, int> > MyMap2; BOOST_MPL_ASSERT(( is_same<mpl::at<MyMap, mpl::int_<0> >::type, double> )); BOOST_MPL_ASSERT(( is_same<mpl::at<MyMap, mpl::int_<1> >::type, int> )); But I do not know if it is what you were looking for. With Kind Regards, Ovanes Markarian On Thu, January 4, 2007 13:11, Johan Torp wrote:
What is the best practice for creating a map from a type to a value?
Currently I do it like this: ===================================== struct SomeMap { template<typename T> static const std::string& LookUp(); };
template <> const std::string& SomeMap::LookUp<int>() { static const std::string s("int"); return s; } ===================================== ...but this seems far from optimal.
-- System Developer TouchTable AB Tel: +46 (0)31 773 68 12 johan.torp@touchtable.se _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users