Boost logo

Boost :

Subject: Re: [boost] review request: addition to type_traits library of is_less_comparable<T, U> and others
From: David Abrahams (dave_at_[hidden])
Date: 2009-12-08 06:44:48


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

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk