>>115 LokiのFunctor(boostにもある?)を使えば以下のようなことができるけど,
こんなことじゃなくて?
#include <iostream>
#include <loki/Functor.h>
#include <functional>
#include <list>
using namespace std;
struct A {
void show () const {cout << "A" << endl;}
};
struct B {
void show () const {cout << "B" << endl;}
};
typedef Loki::Functor <void> Functor;
typedef list <Functor> Functor_Container;
int main () {
A a0; B b0;
Functor_Container fc; fc.push_back (Functor (&a0, &A::show)); fc.push_back (Functor (&b0, &B::show));
for_each (fc.begin (), fc.end (), mem_fun_ref_t <void, Functor> (&Functor::operator ()));
return 0;
}
出力:
A
B