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 }