クラスを作成していることに気づきました
template <typename T> struct invoker {
void operator()(T& it) const {it();}
};
そのため、さまざまなインスタンスで繰り返しinvoker<foo>
呼び出したいもの(自分の制御下にないもの)にを渡して、それらの呼び出しをのメソッドに転送することができます。invoker<foo>::operator()(foo&)
foo
foo
foo::operator()()
ほんの数行であることは知っていますが、これはおそらくSTLの機能によってすでに提供されているようなもののようですboost::bind
。トリックがあれば、私には見えません。(私はこのようなものを使用する最初の人ではないと確信しています;それは名前を持っていますか?)