
"David Abrahams" <dave@boost-consulting.com> wrote in message news:u8y3u37j0.fsf@boost-consulting.com... | "Thorsten Ottosen" <nesotto@cs.auc.dk> writes: | | > "David Abrahams" <dave@boost-consulting.com> wrote in message | > news:usm2379fu.fsf@boost-consulting.com... | > | "Thorsten Ottosen" <nesotto@cs.auc.dk> writes: | > | I don't think you mean "primary template," do you? You're not talking | > | about using function template specialization are you? | > | > I just meant they all have a default version (the primary template) | > like | > | > template <class T > | > some_thing begin( T& r ); | | That's a misuse of the term "primary template," which has a specific | technical meaning. Why not just say "fully general overload?" I'm using the meaning defined in "C++ Templates" p. 100. | > | > | to prevent unintended ADL, I think it's even less of a problem. | > | > | > | > IMO there is no such thing as unintended ADL during a call to | > | > boost::begin(). you always want it. | > | | > | By "unintended ADL" I mean what happens when the author of the begin() | > | function that ends up getting called never intended it to be found via | > | ADL for that particular argument type. I suppose I should have | > | written "unintended argument-dependent matching" or something. | > | > hm...I simply can't imagine somebody wanting that ADL should not | > kick in. | | I don't see how you can say that and also worry about the "ADL lookup | problem." It has to be one or the other. maybe the concern is not needed. not changing anything is certainly easier for me -Thorsten.