00001
00002 #include <eoInit.h>
00003 #include <eoCounter.h>
00004
00005 void f(eoInit<int>& func)
00006 {
00007 int i;
00008 func(i);
00009 }
00010
00011 class Tester : public eoInit<int>
00012 {
00013 public :
00014 void operator()(int& i)
00015 {
00016 i=1;
00017 }
00018 };
00019
00020 #include <iostream>
00021 #include <eoFixedLength.h>
00022 #include <eoVariableLength.h>
00023
00024 using namespace std;
00025
00026 int main(void)
00027 {
00028 Tester test;
00029
00030 eoFunctorStore store;
00031
00033 eoInit<int>& cntr = make_counter(functor_category(test), test, store);
00034
00035 eoUnaryFunctorCounter<eoInit<int> > cntr2(test);
00036
00037 f(cntr);
00038 f(cntr2);
00039 f(cntr2);
00040 f(test);
00041
00042 typedef eoVariableLength<double, int> EoType;
00043 EoType eo;
00044
00045 eo.push_back(1);
00046 eo.push_back(2);
00047
00048 return 1;
00049 }