>ところでテンプレートクラスじゃなくてクラステンプレートな!
なるほど……orz

コード例:
class Foo {
  friend std::unique_ptr<Foo>;
  static std::unique_ptr<Foo> m_pObj;
private:
  static Foo* createInstance() {
    if (m_pObj == NULL) { m_pObj = std::unique_ptr<Foo>(new Foo()); } return m_pObj.get()j;
    // ↑ std::make_unique<Foo>()したらビルドエラー(使うには多分std::make_unique<Foo>()もfriendが要る
     //   スレッドセーフ化は省略
  }
  // ...
};