名無しテンプレート引数 + friend

テンプレート引数が違うのみのクラスをfriend指定したい場合は

template <class A, class B, class C>
class foo
{
  template <class,class,class> friend class foo;
  // ....
};

と書けるみたい。テンプレートどっぷりなコードには必要不可欠だな、これ。

名無しテンプレート引数といえば

template <class A, template <class> class B>
class foo
{
  B<A> bar;
  // ....
};

みたいな書き方もある。