Boost logo

Boost :

From: shunsuke (pstade.mb_at_[hidden])
Date: 2008-04-06 22:41:01


shunsuke wrote:
> Eric Niebler wrote:
>> I think that's right so far. Now imagine a simple identity function
>> object, that just returns its argument unmodified:
>>
>> struct identity
>> {
>> template<typename Sig>
>> struct result;
>>
>> template<typename This, typename Arg>
>> struct result<This(Arg)>
>> {
>> typedef Arg type;
>> };
>>
>> template<typename Arg>
>> Arg const &operator()(Arg const &arg)
>> {
>> return arg;
>> }
>>
>> // and a non-const overload, too
>> };
>
> Let me clarify.
> This identity implementation is simply wrong (if you pass an rvalue to identity.)
> because of inconsistency between decltype and result_of.

Ditto that tr1_function.
Am I right?

Regards,

-- 
Shunsuke Sogame

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