a20c793db43d1852f1a75e79d3757594746888dd
[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 _Chromosome >
12     class Chromosome {
13     protected:
14         vector<_Chromosome> genes;
15
16     public:
17         Chromosome() {}
18
19         Chromosome(vector<_Chromosome> genes) {
20             this->genes = genes;
21         }
22
23         /** Copy constructor */
24         Chromosome(const Chromosome& chromosome)
25             : genes(chromosome.get()) {
26         }
27
28         Chromosome& operator=(const Chromosome&){
29             return *this;
30         }
31
32         vector<_Chromosome> get() {
33             return this->genes;
34         }
35     };
36 }
37
38 #endif /* __CHROMOSOME_H */