Boost logo

Boost :

Subject: Re: [boost] [Review] TTI
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-07-27 10:16:19


On 7/26/2011 5:58 PM, Jeffrey Lee Hellrung, Jr. wrote:
> On Tue, Jul 26, 2011 at 2:25 PM, Edward Diener<eldiener_at_[hidden]>wrote:
>
>> On 7/26/2011 5:03 PM, Jeffrey Lee Hellrung, Jr. wrote:
>>
>>> On Tue, Jul 26, 2011 at 1:19 PM, Noah Roberts<roberts.noah_at_[hidden]**
>>>> wrote:
>>> [...]
>>>
>>> One thing that I think is missing is the option to check for a named
>>>> callable within a type. For example, one might want to use enable_if
>>>> style
>>>> concept checking. So long as a type has function 'xxx' that takes
>>>> arguments
>>>> of type x,y,and z, and returns something convertible to type A, the
>>>> concept
>>>> is obeyed. I don't believe this can be done with C++03, but with C++1X I
>>>> was able to do something using decltype.
>>>>
>>>> [...]
>>>
>>> Actually, you can approximate it pretty well in C++03 (using derivation
>>> and
>>> using tricks) to the point that I think it will work pretty much as you
>>> expect except for nullary member functions, where your queries must be
>>> more
>>> restrictive. This is a useful query, but I believe Edward has decided it
>>> to
>>> be outside the scope of TTI.
>>>
>>
>> I am not sure what the OP means by 'named callable". If it can be
>> introspected within the type I can consider whether it can be done or not.
>>
>
> I think you missed the convertibility requirement(s).

TTI needs an exact signature.

>
> This is something more along the lines of Frederic Bron's Type Traits
> Extension, I think.

That deals with operators for a type in general. I have a feeling that
the OP was interested in determining whether a class was a function
object for some parameter(s).


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