#include #include void f(eoInit& func) { int i; func(i); } class Tester : public eoInit { public : void operator()(int& i) { i=1; } }; #include #include #include #include using namespace std; int main(void) { Tester test; eoFunctorStore store; /// make a counter and store it in 'store' eoInit& cntr = make_counter(functor_category(test), test, store); eoUnaryFunctorCounter > cntr2(test); f(cntr); f(cntr2); f(cntr2); f(test); typedef eoVariableLength EoType; EoType eo; eo.push_back(1); eo.push_back(2); eoTranspose transpose; transpose(eo); return 1; }