有没有“template typedef”的比较好的等价实现?

如题,想进行带模板参数的 typedef,如:

template <typename T>
typedef RBTree<T> Set<T>;

template <typename T>
typedef Set<List<T>> MultiSet<T>;

template <typename K, typename V>
typedef Set<Pair<K, V>> Map<K, V>;

template <typename K, typename V>
typedef Map<K, List<V>> MultiMap<K, V>;

却无这种语法。

目前能想到的就是

template <typename T>
class Set : public RBTree<T>
{
};

template <typename T>
class MultiSet : public Set<List<T>>
{
};

template <typename K, typename V>
class Map : public Set<Pair<K, V>>
{
};

template <typename K, typename V>
class MultiMap : public Map<K, List<V>>
{
};

不知有没有更好的方法?


首发:http://www.cppblog.com/Streamlet/archive/2009/11/07/100351.html