From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2002-12-11 04:01:24
vladimir josef sykora wrote:
> "David Abrahams" <dave_at_[hidden]> wrote in message
> > Aleksey Gurtovoy <agurtovoy_at_[hidden]> writes:
> > > but I am not sure how reliable that would be. Hmm, it
> > > might even work.
> > ...and it might not. Herb Sutter recently told me of some
> > experiments> he did which showed that GCC was doing ADL in many
> > more than just the correct "associated namespaces". It's almost
> > hilarious that so many things have conspired to make GCC so
> > problematic in this area:
> > too-liberal ADL specification in the standard, a refusal to qualify
> > internal calls to the std:: algorithms, an un-useful interpretation
> > of the standard w.r.t. looking up types vs. functions, and finally
> > outright bugs in the ADL implementation.
> IMHO, I'd suggest to change the name to a non collision one.
Well, I would be reluctant to do so. For one, I doubt that it will all end
on this particular name ('copy_backward'). MPL is full of algorithms that
are named after their run-time counterparts, and, given the sad state of
affairs with that compiler/library combination, each of them is a potential
source of conflict, only waiting for the moment to expose itself. And I am
not going to rename them and destroy the original intent just because some
non-conforming implementation carelessly chose to reserve _all_ std
algorithm names in _all_ namespaces.
I'll try to workaround the issue, though.
> I wouldn't like to see (mpl + std) alienated with gcc.
Well, me too. Your original example now compiles on GCC 3.2 with the current
CVS sources. Please let me know if you run into more of this.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk