
On 7/12/07, Tobias Schwinger <tschwinger@isonews2.com> wrote:
It's wrong to have the signature for result_of contain references:
The result_of specification says the parameter types in the signature type should be interpreted as types of L-Value arguments used in a call expression (cited from memory).
Hmm - yes, the proposal says: "given types F, T1, T2, ..., TN and lvalues f, t1, t2, ..., tN of those types, respectively, the type expression result_of<F(T1, T2, ..., TN)>::type evaluates to the type of the expression f(t1, t2, ..., tN)." and then the following example depicts an operator() that takes references (and the references are missing from the result<> specification. Of course, this makes perfect sense, and of course, I missed it as well... :-) Yikes! [goes off to change a bunch of code] Thanks, Stjepan