00001 #ifndef GLBASERANKER_H_
00002 #define GLBASERANKER_H_
00003 #include <vector>
00004 using namespace std;
00005 class GLBaseOrganism;
00006
00011 class GLBaseRanker
00012 {
00013 public:
00017 GLBaseRanker();
00018
00022 virtual ~GLBaseRanker();
00023
00034 virtual void getFittest(const vector<GLBaseOrganism*>& organisms,
00035 vector<const GLBaseOrganism*>& fittest) = 0;
00036
00043 int notEvaluated(const vector<const GLBaseOrganism*>& organisms) const;
00044
00056 virtual void rankOrganisms(
00057 vector<GLBaseOrganism*>& organisms,
00058 vector<const GLBaseOrganism*>& fittest) = 0;
00059
00067 virtual void rankOrganisms(
00068 vector<GLBaseOrganism*>& organisms) = 0;
00069
00073 virtual void reset();
00074
00088 virtual bool updateFittest(
00089 const vector<const GLBaseOrganism*>& candidates,
00090 vector<const GLBaseOrganism*>& current_best) = 0;
00091 };
00092
00093 #endif