d37569fdde192d82ab60bfbee6834ca8336639ed
[genetic.git] / src / chromosome.h
1 #ifndef __CHROMOSOME_H
2 #define __CHROMOSOME_H
3
4 #include <vector>
5
6 #include "gene.h"
7
8 using namespace std;
9
10 namespace genetic {
11     template < typename _Gene >
12     class Chromosome {
13     public:
14         typedef _Gene GeneType;
15     protected:
16         vector<_Gene> genes;
17
18     public:
19         Chromosome() {}
20
21         Chromosome(vector<_Gene> genes) {
22             this->genes = genes;
23         }
24
25         /** Copy constructor */
26         Chromosome(const Chromosome& chromosome)
27             : genes(chromosome.get()) {
28         }
29
30         Chromosome& operator=(const Chromosome&){
31             return *this;
32         }
33
34         vector<_Gene> get() const {
35             return this->genes;
36         }
37     };
38 }
39
40 #endif /* __CHROMOSOME_H */