7 * Class representing Gene
9 template < typename Type >
14 * This for example can be a primitive value such as: int or double, or
15 * with additional changes complex struct.
19 template<typename> friend class Gene;
27 * Class constructor, initializes Gene with default value.
29 Gene(const Type& value) {
33 /** Copy constructor */
34 Gene(const Gene& gene) : value(gene.value) {}
39 * @param gene Gene from which the value should be copied.
40 * @return Gene instance containing copied value
42 Gene& operator=(const Gene& gene) {
43 this->value = gene.value;
48 * Allows read-only access to Gene value