
7 May
2004
7 May
'04
4:58 p.m.
David Abrahams wrote:
"Peter Dimov" <pdimov@mmltd.net> writes:
John Torjo wrote:
I agree. IMO the best answer for now is to generate the 2^N overloads of operator() for some user-selectable N. Unary and binary functions are so common that IMO usually N==2 will do it.
I second that. Maybe n==3 anyone?
Many older compilers have problems with T& / T const & overloading, even if they support partial ordering.
Which ones?
I'm not sure, it's been a while. I recall that EDG 2.40 and earlier couldn't order the two templates (in the const lvalue case, ordinary overloading rules apply otherwise); there may be others.
Don't some also bind temps to T& when that's all you supply?
Borland and MSVC 6 do that, with a warning.