00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- 00002 00003 //----------------------------------------------------------------------------- 00004 // eoParticleArchive.h 00005 // (c) OPAC 2007 00006 /* 00007 This library... 00008 00009 Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr 00010 */ 00011 //----------------------------------------------------------------------------- 00012 00013 #ifndef EOPARTICLEARCHIVE_H_ 00014 #define EOPARTICLEARCHIVE_H_ 00015 00016 //----------------------------------------------------------------------------- 00017 #include <eoPop.h> 00018 //----------------------------------------------------------------------------- 00019 00020 00024 template < class POT > class eoParticleArchive:public eoPop < POT > 00025 { 00026 public: 00030 virtual POT best () = 0; 00031 virtual void best (const POT &) = 0; 00032 }; 00033 00034 00038 template < class POT > class eoDummyParticleArchive:public eoParticleArchive < 00039 POT > 00040 { 00041 }; 00042 00043 00047 template < class POT > class eoSingleParticleArchive:public eoParticleArchive < 00048 POT > 00049 { 00050 00051 public: 00052 00053 eoSingleParticleArchive (POT _po = POT ()):bestParticle (_po) 00054 { 00055 } 00056 00057 POT best () 00058 { 00059 return bestParticle; 00060 } 00061 00062 void best (const POT & _po) 00063 { 00064 bestParticle = _po; 00065 } 00066 00067 protected: 00068 00069 POT bestParticle; 00070 00071 }; 00072 00073 #endif /*EOPARTICLEARCHIVE_H_ */
1.4.7