小ネタ:friend classの一括管理
元ネタ:Boost::Serializationの
class Member { // ここで一括管理できる friend class Hoge; friend class Hage; friend class Fuga; private: template<typename T> static void func(T& t) { t.func(); } }; class Himitu { friend class Member; private: void func(); }; class Himitu2 { friend class Member; private: void func(); };