Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2005-09-03 11:58:26

Thorsten Ottosen wrote:
> Eric Niebler <eric <at>> writes:
>>boost_range_end(). From the CVS history, that is what was implemented.
>>But that is not what was documented, and it's not what your concept
>>specifications require.
> I have no recollection of this.
> To give you all a proper answer, I will have to reread the
> entire discussion. I don't intend to use my weekend for that, but I'll
> return monday or tuesday with a proper answer.

OK, but if we want the Range concepts fixed for 1.33.1 (we do, right?)
then we have a bit of time pressure.

>>It's also not mentioned anywhere in the proposal you made to the C++
>>standardization committee, AFAICT. Customization points are *crucially*
>>important to the Range concepts,
> right.
>>and we spent a long time discussing it.
>>You have ignored that. Boost.Range is a mess, the concepts are wrong,
>>and so is your proposal.
> Thanks.

I seem to have let my frustration get the better of me. Sorry for the
strong wording.

> The proposal uses the same extension mechanism as the one in boost.
> Libraries must call the functions unqualified. I see no problem with that.

Once you reread the thread, you'll recall the problems with that. The
whole discussion started because gcc's bizarre interpretation of the
name look-up rules meant that unqualified calls to "end" led to
ambiguities -- it was colliding with mpl::end.

> My recollection is that having boost::foo() do ADL was *firmly* rejected, and
> so that is why I don't see the boost_range_end() being that important.

Quite the opposite, actually. It was decided that boost::end() *should*
make a call to a hook that is found by ADL.

> The docs might be wrong right now, but that is of minor importance.

I respectfully disagree about the importance of improperly specified

Eric Niebler
Boost Consulting

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