Index: boost/type_traits/floating_point_promotion.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/type_traits/floating_point_promotion.hpp,v retrieving revision 1.2 diff -u -r1.2 floating_point_promotion.hpp --- boost/type_traits/floating_point_promotion.hpp 20 May 2006 09:35:45 -0000 1.2 +++ boost/type_traits/floating_point_promotion.hpp 4 Jun 2007 06:48:05 -0000 @@ -8,6 +8,15 @@ #include +#ifdef BOOST_NO_CV_SPECIALIZATIONS +#include +#include +#include +#include +#include +#include +#endif + // Should be the last #include #include @@ -15,6 +24,8 @@ namespace type_traits { namespace detail { +#ifndef BOOST_NO_CV_SPECIALIZATIONS + template struct floating_point_promotion { @@ -45,6 +56,25 @@ typedef double const volatile type; }; +#else + +template +struct floating_point_promotion + : mpl::at< + mpl::vector< T, double, double const, double volatile, + double const volatile > + , mpl::plus< + is_same + , mpl::multiplies< is_same , mpl::int_<2> > + , mpl::multiplies< is_same , mpl::int_<3> > + , mpl::multiplies< is_same, mpl::int_<4> > + > + > +{ +}; + +#endif + } } BOOST_TT_AUX_TYPE_TRAIT_DEF1(