This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C++0x] Range-based for statements and ADL


On 25 March 2011 14:22, Rodrigo Rivas wrote:
> On Fri, Mar 25, 2011 at 1:33 PM, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
>> Yes but it's too late to specify it in C++0x.
>>
>> Boost.Range is the best place to work on that idea at present.
>> If/when it's fully baked I hope we'll see something like that in a
>> future TR or standard.
>
> Agreed.
> But just now, how would you explain if the following to loops behave
> differently?
>
> template<typename T> void foo(T &t)
> {
> ? ?for (auto i : t)
> ? ? ? ?;
> ? ?for (auto i : boost::any_range(t))
> ? ? ? ?;
> }
>
> Because the boost::any_range constructor is unable to replicate the
> logic from the range-for?

I would say different behaviour is better than an unpreventable
compiler error, which is what happened when combining range-based for
and Boost.Range a few months ago.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]