Boost logo

Boost Users :

From: Ovanes Markarian (om_boost_at_[hidden])
Date: 2007-01-04 07:47:22


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_at_[hidden]
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net