Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-07-30 11:17:52

"Thorsten Ottosen" <nesotto_at_[hidden]> writes:

> "David Abrahams" <dave_at_[hidden]> wrote in message
> | "Thorsten Ottosen" <nesotto_at_[hidden]> writes:
> |
> | > Dear All,
> | >
> | > I've put meself in a funny situation. I have a class with an begin() end() members, but I wan't to call boost::begin()
> boost::end()
> | > without the boost:: prefix so ADL is functional. Can that be done?
> |
> | We ought to be seriously considering the approach of
> | for Boost functions that, like begin() and
> | end(), rely on ADL.
> If I understand this correctly, then it would mean we can use
> boost::end( r ) etc and still get ADL lookup ( Cool!! )
> If so, is there any knowledge about how portable it works?

It's as portable as ADL is. It won't work where ADL doesn't work;
otherwise it will work.

> | It may not solve the problem of accidental
> | conformance, but at least it allows code that invokes these functions
> | to be explicit about which algorithm is intended. If the boost
> | function can develop some intelligence about detecting concept
> | conformance of its parameters, it may allow us to avoid some
> | accidental conformance too.
> yes, concept checks would be ok, but won't happen until the next
> release. I would say this is a manor problem.

I didn't mean concept checks in the usual sense so much as SFINAE.

Dave Abrahams
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at