Template aliases have just been implemented in GCC. Essentially they are a template typedef. Before now, the only way to typedef templated types was to create the full type with all the parameters set. Now you can only bind some of the parameters. For the functional programmers, this is partial function application for templates.
Here is an example of how to use it:
template <typename A, typename B> class X; template <typename F> using Xint = X<F, int>;
This declares an alias
Xint which is templated with one parameter. It is just an alias for
X where the second parameter has been fixed to int, and the first parameter comes from the parameter to