Boost logo

Boost :

From: Terje Slettebø (tslettebo_at_[hidden])
Date: 2003-01-31 16:13:55


[Note to moderators: This is just to reply, including giving possible
alternative places to discuss this]

>From: "Jason House" <jhouse_at_[hidden]>

> The first part of this is probably a stupid question

Not at all. :)

> Terje Slettebø wrote:
> >
> > What makes the template typedef proposal different from the template
alias
> > proposal, is that the former may be specialised, and the latter may be
> > deduced.
>
> What do you mean by deduced?

The paper says:

"2. A typedef template is itself an alias; it cannot be specialized. This
choice would allow:

. deduction on typedef template function parameters (see 2.4)"

The paper doesn't propose that model. However, that has been suggested as an
alternative, mentioned in this thread, in the form of "template alias" (i.e.
not using "typedef" at all).

> I saw it in the proposal too...
>
> Here's a copy of text from the proposal:
>
> ***
> template<class T, class P> class smart_ptr;
> template<class T> typedef smart_ptr<T, SharedPolicy> shared_ptr;
> template<class T> void f(smart_ptr<T, SharedPolicy>);
> template<class T> void f(shared_ptr<T>);
>
> In this proposal, the last two lines declare different templates.
> ***
>
> That is the kind of stuff that concerns me. There is a deviation in the
> usage of smart_ptr<T, SharedPolicy> and shared_ptr<T> even though they
> are typedef'd to be the same.

I think what is meant is that the templates are not aliases (i.e. the
"template<class T> void(...)" templates). Otherwise, the last two lines
would declare identical templates. However, as I understand it, the template
function parameters express the same type, i.e. typeof(smart_ptr<T,
SharedPtr>) == typeof(shared_ptr<T>), for a given T.

> Also, where should such discussion be going? Someone mentioned that
> this is not the place, but I'm not familiar with the various other
> mailing lists.

Hm, there's the C++ standards committee mailing lists ("reflectors") which
have been mentioned, but as I understand, these are not open to the public.
Another alternative is the newsgroups, such as comp.std.c++, which is
discussion about the standard, itself, which this is about. They may also be
accessed from the web
(http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&group=comp.std.c%2B%2B).

Regards,

Terje


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