00001 #include <NLstl_utils.h> 00002 00003 #include "GLGaStatusStandard.h" 00004 #include "GLGaStopperMaxGenerations.h" 00005 00010 GLGaStopperMaxGenerations::GLGaStopperMaxGenerations(int max_generations) 00011 { 00012 m_max_generations = max_generations; 00013 }//constructor 00014 00022 bool GLGaStopperMaxGenerations::stop(const GLBaseGaStatus* ga_status) 00023 { 00024 const GLGaStatusStandard* status = 00025 nlutils::transform_pointer<const GLGaStatusStandard, 00026 const GLBaseGaStatus> 00027 (ga_status, "GLGaStopperMaxGenerations::stop\n" 00028 "Passed status is not a pointer to GLGaStatusStandard\n"); 00029 return (status->m_current_generation >= m_max_generations); 00030 }//stop