#include "chromosome.h"
#include "generation.h"
-using namespace std;
-
namespace genetic {
/**
* Base Condition class.
* If condition is satisfied, we can check another generation.
* All the custom Condition checks should be invoked in this method.
*
- * @param generation current generation to check
+ * @param generation reference of current generation to check
*
* @return true if condition is satisfied and another generation can checked;
* false if condition is not satisfied and algorithm should stop.
*/
- virtual bool do_check(Generation<_Chromosome>) = 0;
+ virtual bool do_check(const Generation<_Chromosome>&) = 0;
public:
/**
* Checks if current generation passes stop condition.
* If condition is satisfied, we can check another generation.
*
- * @param generation current generation to check
+ * @param generation reference of current generation to check
*
* @return true if condition is satisfied and another generation can checked;
* false if condition is not satisfied and algorithm should stop.
*/
- bool check(Generation<_Chromosome> generation) {
+ bool check(const Generation<_Chromosome>& generation) {
return do_check(generation);
}
};