summaryrefslogtreecommitdiff
path: root/src/operator.h
blob: 8688667ed9191bbc946dfa8a5ed959ef538d8022 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef GENETIC_OPERATOR_H
#define GENETIC_OPERATOR_H

#include <bu/list.h>

namespace Genetic
{
	class Phenotype;
	typedef Bu::List<Phenotype *> PhenotypeList;

	class Operator
	{
	public:
		Operator();
		virtual ~Operator();

		virtual Phenotype *random()=0;
		virtual int parentCount()=0;
		virtual Phenotype *mate( const PhenotypeList &lParents )=0;

	private:
	};
};

#endif