|
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 news:uzn5ho9vf.fsf_at_boost-consulting.com...
> | "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
> | http://tinyurl.com/3tu8a 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 http://www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk