
On Dec 8, 2009, at 6:28 AM, Frédéric Bron wrote:
If you really want to support the "don't care" case for a return type, use has_operator_less<T, dont_care> where "dont_care" is a special placeholder type that you define (could use a better name though?).
I like the idea and the name, though perhaps "any" would work, too.
Doesn't that potentially get confused with boost::any ?
It would be has_operator<T, U, boost::type_traits::any> Then boost::type_traits::any_return would be more appropriate.
I prefer void because it is shorter but this could make people think it will check for operator return void... which is not the case; so maybe the long version boost::type_traits::any_return is better.
By that rationale shouldn't we also require the 3rd parameter to be wrapped in is_convertible_to<...> so people don't think it's requiring a return type of exactly R (e.g. bool)? -- David Abrahams BoostPro Computing http://boostpro.com