boostのfunctionみたいに、
function<void (const T &)> f; は function1<void, const T &> f;
function<void (int, int)> g; は function2<void, int, int> g;
というように、templateの数に応じて別のクラスに置き換える方法ってどうやるの?