>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