Boost logo

Boost :

From: Doug Gregor (dgregor_at_[hidden])
Date: 2007-05-21 16:37:28


On May 21, 2007, at 4:20 PM, Tobias Schwinger wrote:
> Douglas Gregor wrote:
>> As soon as decltype gets in the language, result_of just "does the
>> right thing" without this (or any) kludges. The LWG has accepted the
>> appropriate change in principle, but of course it can't go in until
>> decltype goes in.
>>
>
> Well, that last paragraph reads confusing to me.
>
> What is decltype(an_int()) or decltype(non_callable()), then? No
> compile
> error?!

An error.

> And isn't result_of working around a problem elsewhere in the language
> (namely the non-lazy instantiation of the nullary call operator), in
> fact making the switch to a decltype-based implementation harder?

As Peter noted, we'll also be using variadic templates, e.g.,

        template<typename T>
        struct reference_wrapper {
                T* ptr;

                template<typename... Args>
                typename result_of<T(Args&&...)>::type
                  operator()(Args&&... args);
        };

        - Doug


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