From: shunsuke (pstade.mb_at_[hidden])
Date: 2008-04-06 18:52:51
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.
Am I missing anything?
-- Shunsuke Sogame
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk