私はしばらく Loki の Functor を使用しており、最近それについて質問しました (まだ回答がありません...) std::function を使用するように言われましたが、Loki の Functor の実装の方が好きです。パラメーターとしてのポインター (例: std::shared_ptr)。
struct Toto
{
void foo( int param )
{
std::cout << "foo: " << param << std::endl;
}
};
int
main( int argc, const char** argv )
{
std::shared_ptr<Toto> ptr = std::make_shared<Toto>();
Loki::Functor<void, LOKI_TYPELIST_1(int)> func( ptr, &Toto::foo );
func(1);
}
std::function でそうする方法はありますか?