00001 00020 #ifndef _PROBLEM_TABLE_FACTORY_H 00021 00022 #define _PROBLEM_TABLE_FACTORY_H 1 00023 00024 #include "problemfactory.h" 00025 00026 namespace realea { 00027 00035 struct FUNCTION { 00036 int ident; 00037 int genes; 00038 string name; 00039 tEval eval; 00040 tGen range[2]; 00041 tGen initrange[2]; 00042 double optime; 00043 }; 00044 00049 class ProblemTableFactory : public ProblemFactory { 00050 public: 00059 ProblemTableFactory(unsigned maxeval, FUNCTION *fun, unsigned max); 00060 ~ProblemTableFactory(void); 00061 ProblemPtr get(unsigned int ident); 00062 private: 00063 FUNCTION *m_fun; 00064 unsigned m_max; 00065 unsigned m_maxeval; 00066 }; 00067 00068 } 00069 #endif