
I have started to modify the code so that the return type of operator< can be specified instead of checking only for convertible to bool. For that to work, I need a small addition to detail/bool_trait_def.hpp. John, can I commit the following patch to the sandbox? Frédéric Index: boost/type_traits/detail/bool_trait_def.hpp =================================================================== --- boost/type_traits/detail/bool_trait_def.hpp (révision 56930) +++ boost/type_traits/detail/bool_trait_def.hpp (copie de travail) @@ -87,6 +87,17 @@ BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait) \ /**/ +#define BOOST_TT_AUX_BOOL_TRAIT_DEF3(trait,T1,T2,T3,C) \ +template< typename T1, typename T2, typename T3 > struct trait \ + BOOST_TT_AUX_BOOL_C_BASE(C) \ +{ \ + BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \ + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,trait,(T1,T2,T3)) \ +}; \ +\ +BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(3,trait) \ +/**/ + #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) \ template<> struct trait< sp > \ BOOST_TT_AUX_BOOL_C_BASE(C) \