Boost logo

Boost Users :

Subject: Re: [Boost-users] [phoenix] ambiguity between std::begin/end and phoenix::begin/end due to ADL
From: Thomas Heller (thom.heller_at_[hidden])
Date: 2012-01-04 11:02:55


On 12/28/2011 06:08 AM, Joel de Guzman wrote:
> On 12/16/2011 5:44 PM, Nathan Ridge wrote:
>>
>> Hello,
>>
>> I am running into a problem where an unqualified call to begin()
>> on a range type whose template parameters include a Boost.Phoenix
>> type (for examle filtered_range<Pred, R> where Pred is a phoenix
>> function) is ambiguous because, in addition to the intended
>> std::begin, phoenix::begin is being found by ADL.
>>
>> What can be done about this? There exists precedent for placing
>> boost::xxx::begin/end functions in ADL barrier namespaces because
>> C++11 encourages unqualified calls to begin/end (specifically,
>> this was done for boost::range::begin/end). Should the same thing
>> be done for Phoenix?
>
> Yep. Heller seems to be on vacation now. It would be good to
> have a trac ticket for this, to be sure we won't forget.

Yeah, vacation ... ;)
Back again ... filed the bug.
Thanks for reporting.

Regards,
Thomas


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net