00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef EOTOPOLOGY_H_
00014 #define EOTOPOLOGY_H_
00015
00016
00017 #include <eoNeighborhood.h>
00018
00019
00020
00024 template < class POT > class eoTopology:public eoPop < POT >
00025 {
00026 public:
00027
00031 virtual void setup(const eoPop<POT> &)=0;
00032
00036 virtual void updateNeighborhood(POT & ,unsigned)=0;
00037
00038
00042 virtual void updateNeighborhood(eoPop < POT > &_pop)
00043 {
00044 for (unsigned i = 0; i < _pop.size (); i++)
00045 {
00046 updateNeighborhood(_pop[i],i);
00047 }
00048 }
00049
00053 virtual POT & best (unsigned ) = 0;
00054
00059 virtual void printOn(){}
00060 };
00061
00062
00063 #endif
00064
00065
00066
00067
00068
00069
00070
00071