Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2005-04-06 13:05:58


"David Abrahams" <dave_at_[hidden]> wrote in message
news:u1x9nzw3b.fsf_at_boost-consulting.com...
| "Thorsten Ottosen" <nesotto_at_[hidden]> writes:

| > | What is "the ADL lookup problem?"
| >
| > the problem that emerges when you want ADL to happen, but
| > cannot use an unqualified call because it would create conflicts
| > between
| >
| > boost::begin;
| > sequence::begin
| > foo::begin
|
| You have to consider that problem in the context of the question, "how
| likely is it that there will be no best match among those three?"

just consider that all of the begin()'s may have an unconstrained
primary template version. all three is going to match.

| > it could fairly easily happen IMO. more and more code is put into
| > header files qualified syntax hence becomes more important
|
| Show me a realistic example, please. I am still in the early stages
| and can change this element of the design if necessary.

please consider the example above.

| > I recall it as it was the costumization points that a framework
| > ceases to own.
|
| The customization points and their expected semantics are what make up
| the Range concept's requirements.
|
| > begin() is a bad customization point
|
| I'm not sure of that anymore. Conflicts caused by GCC can be
| misleading. And now that we know how to properly isolate types

you mean by namespaces?

| to
| prevent unintended ADL, I think it's even less of a problem.

IMO there is no such thing as unintended ADL during a call to boost::begin().
you always
want it.

-Thorsten


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk