moLSCheckPoint.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
00002 
00003 // "moLSCheckPoint.h"
00004 
00005 // (c) OPAC Team, LIFL, 2003
00006 
00007 /* TEXT LICENCE
00008    
00009    Contact: paradiseo-help@lists.gforge.inria.fr
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 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

Generated on Thu Dec 21 10:49:58 2006 for PARADISEO-MO by  doxygen 1.5.1