|
Boost : |
From: Jeremy Siek (jsiek_at_[hidden])
Date: 2001-01-23 18:00:52
This situation is like when you're sitting in your car, stopped in front
of a broken stop-light stuck on red. Carefully look both ways, and then
run the red light!
I think the best short-term solution is to use std::abs and std::swap tell
people to define abs(), swap(), etc. functions for their types in
namespace std.
I think we need to make a decision about this soon because it affects many
many things.
I think the best long term solution is to change the standard to make this
legal.
On Tue, 23 Jan 2001, Paul Moore wrote:
gustav>
gustav> Paul.
gustav>
gustav> PS In case people think I'm just being petluant, I should point out
gustav> that without Koenig lookup, the swap() and abs() stuff simply
gustav> doesn't work. With abs(), you get compile errors, and with swap()
gustav> you get the wrong version being used (resulting in at best no
gustav> improvement, and at worst a severe pessimization of the code). I'd
gustav> rather leave it out than have broken code. And as I've said before, I
gustav> have to use MSVC, so I won't implement something which doesn't
gustav> work on that compiler.
gustav>
gustav> PPS Is it only me who feels that the "using std::swap" incantation
gustav> required to be able to use swap() unqualified and hence to get the
gustav> benefit of Koenig lookup is clumsy, unintuitive and inelegant?
gustav>
gustav>
gustav>
gustav>
----------------------------------------------------------------------
Jeremy Siek www: http://www.lsc.nd.edu/~jsiek/
Ph.D. Candidate email: jsiek_at_[hidden]
Univ. of Notre Dame work phone: (219) 631-3906
----------------------------------------------------------------------
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk