00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __moSolUpdater_h
00013 #define __moSolUpdater_h
00014
00015 #include <eoFunctor.h>
00016
00018
00021 template < class M > class moLSCheckPoint:public eoBF < const M &, const typename
00022 M::EOType &, void >
00023 {
00024
00025 public:
00027
00033 void
00034 operator () (const M & __move, const typename M::EOType & __sol)
00035 {
00036
00037 for (unsigned int i = 0; i < func.size (); i++)
00038 {
00039 func[i]->operator ()(__move, __sol);
00040 }
00041 }
00042
00044
00048 void
00049 add (eoBF < const M &, const typename M::EOType &, void >&__f)
00050 {
00051
00052 func.push_back (&__f);
00053 }
00054
00055 private:
00056
00058 std::vector < eoBF < const
00059 M &, const
00060 typename
00061 M::EOType &, void >*>
00062 func;
00063
00064 };
00065
00066 #endif