>From: "David B. Held" <[EMAIL PROTECTED]>

> "Gabriel Dos Reis" <[EMAIL PROTECTED]> wrote in message
> [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> > [...]
> > There is no formal vote about these thingies yet.
>
> Well, I just wanted to know what the most popular opinion was,
> and you give some interesting info here.
>
> > [...]
> >     template<typename T>
> >        Vec = std::vector<T, MyAlloc<T> >;
>
> This looks cool!  Is someone going to write a proposal for this before
> April?  Or does this type of change not get considered at that time?
>
> > [...]
> > Oh well, I believe we're very far from any actual definitive form of
> > "template typedef" or "template aliasing".
>
> Well, I thought Herb's proposal was more or less "definitive".  Is that
> not what's likely to be presented to the committee?  If we got template
> aliasing as you describe above, then Herb's proposal is just fine with
> me.

Yeah. It's probably hard to perform deduction in the presence of
specialisations. If that turns out very hard or impossible, then having a
specialisable (non-deducible) template typedef, and deducible template
aliasing, might mean that we could have our cake and eat it, too. :)

Thus, we could have the benefits of specialisation, for example (from the
proposal):

template<int> typedef int int_exact;
template<> typedef char int_exact<8>;
template<> typedef short int_exact<16>;
// ...

template<class T> typedef T remove_const;
template<class T> typedef T remove_const<T const>;

As well as deducability (using the example above):

template<typename T>
Vec = std::vector<T, MyAlloc<T> >;

template<typename T, typename A>
void f(std::vector<T, A>);

f(Vec<int>); // Deduces T=int and A=MyAlloc<T>

As well as, of course:

template<typename T>
some_pointer = smart_ptr<T, ...>


Regards,

Terje

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to