00001 #ifndef GLBASEGASTATUS_H_ 00002 #define GLBASEGASTATUS_H_ 00003 #include <vector> 00004 #include <NLInterfaceOutput.h> 00005 #include <NLTimer.h> 00006 00007 #include "GLBaseOrganism.h" 00008 using namespace std; 00014 struct GLBaseGaStatus: public nlutils::NLInterfaceOutput 00015 { 00016 public: 00020 GLBaseGaStatus(); 00021 00026 GLBaseGaStatus(const GLBaseGaStatus* source); 00027 00031 virtual ~GLBaseGaStatus(); 00032 00036 virtual GLBaseGaStatus* copy() const 00037 { return new GLBaseGaStatus(this); } 00038 00043 virtual ostream& toStream(ostream& out) const; 00044 public: 00046 int m_current_state; 00050 vector<const GLBaseOrganism*> m_best_ever_organisms; 00052 int m_current_generation; 00055 long m_evaluator_calls; 00058 int m_generations_since_solution_improvement; 00064 int m_generations_since_new_best_found; 00068 vector<GLBaseOrganism*> m_last_generation; 00069 00072 double m_time_required; 00073 00077 nlutils::NLTimer m_timer; 00078 }; 00079 #endif /* GLBASEGASTATUS_H_ */