
Thorsten, Thorsten Ottosen wrote:
Dear all,
I'm going to change the ADL lookup hook of range functions.
Actually AFAICS you are changing a basic feature of the lib.
instead of the irritating
void foo() { using namespace boost; begin(r); }
For the record I don't think it's irritating at all. It very clearly states what is going on. I can see it being cumbersome though. BTW shouldn't it be using boost::begin; begin(r);
we simply now say
void foo() { boost::begin(r); }
and get full ADL lookup. This changes the extension protocol to overiding these three functions:
To me the key difference here is not the way hooks a provided, but that currently the user chooses to take advantage of ADL, while with the new scheme the library makes the choice for the user. I am unconvinced that that's actually better.
range_adl_begin() range_adl_end() range_adl_size()
My prior remarks notwithstanding, I think the _adl part should go. Thomas -- Thomas Witt witt@acm.org