namespace genetic {
/**
- * Generation of given Chromosomes.
+ * Class representing Generation of given Chromosomes.
*/
template < typename _Chromosome >
class Generation {
protected:
+ /**
+ * Chromosomes in the given Generation
+ */
vector<_Chromosome> chromosomes;
public:
+ /**
+ * Default constructor
+ */
Generation() {}
+ /**
+ * Class constructor. Initializes generation with the given chromosomes
+ *
+ * @param chromosomes vector containing Chromosomes to use in Generation
+ */
Generation(vector<_Chromosome> chromosomes) {
this->chromosomes = chromosomes;
}
: chromosomes(generation.get()) {
}
+ /**
+ * Allows read-only access to Generation Chromosomes
+ */
vector<_Chromosome> get() const {
return this->chromosomes;
}
+ /**
+ * Copy operator.
+ *
+ * @param generation Generation from which the Chromosomes should be copied.
+ * @return Generation instance containing copied Chromosomes
+ */
Generation& operator=(const Generation& generation){
this->chromosomes = generation.get();
return *this;