Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2000-11-01 15:23:36


----- Original Message -----
From: "Peter Dimov" <pdimov_at_[hidden]>

> Once you allow std:: overloads, many more such examples can be
> constructed. And I wonder how exactly you'd constrain those overloads to
> match the primary template in functionality, whatever the definition of
> "match."

I think you could use similar hand-waving to what is used for explicit
specialization.

> > > Only if you use the "feature" of not providing the template
> parameters
> > > explicitly. This should be deprecated. And banned. :-)
> >
> > Maybe. But you must appreciate that getting FTPS to work reliably for
> users
> > requires not only radical changes in the core language but also in
> levels of
> > user education and practice.
>
> Granted, but note that the problems are not limited to partial
> specializations. They are already there. In particular, the partial
> specialization syntax doesn't allow omitting the template parameters, so
> your example is a non issue.

I don't think so. Full specialization is just a special case of partial
specialization. The dangerous syntax lies along the continuum of the
technique you are proposing people should use.

> I think that in general every problem with partial specializations
> applies to explicit specializations as well. Except the ambiguity
> between two partial specializations, of course, but it is already in the
> language (limited to class templates) so it's not a new thing either.

That's probably true.

-Dave


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