Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-04-08 01:11:24


"Thorsten Ottosen" <nesotto_at_[hidden]> writes:

> "David Abrahams" <dave_at_[hidden]> wrote in message
> news:u8y3u37j0.fsf_at_boost-consulting.com...
> | "Thorsten Ottosen" <nesotto_at_[hidden]> writes:
> |
> | > "David Abrahams" <dave_at_[hidden]> wrote in message
> | > news:usm2379fu.fsf_at_boost-consulting.com...
> | > | "Thorsten Ottosen" <nesotto_at_[hidden]> 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.

This is also a "primary template:"

      template <class T, int N>
      T* begin( T(&)[N] );

If you understand that, then I was wrong to say you're misusing the
term, and I just don't understand what distinction you were trying to
draw in using it.

> | > | > | 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

Well, I just don't know. I think we need more experience to be sure.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk