+++ /dev/null
-#ifndef __GENE_H
-#define __GENE_H
-
-namespace genetic {
-
- /**
- * Class representing Gene
- */
- template < typename Type >
- class Gene {
- protected:
- /**
- * Value of the Gene
- * This for example can be a primitive value such as: int or double, or
- * with additional changes complex struct.
- */
- Type value;
-
- template<typename> friend class Gene;
- public:
- /**
- * Default constructor
- */
- Gene() {}
-
- /**
- * Class constructor, initializes Gene with default value.
- */
- Gene(Type value) {
- this->value = value;
- }
-
- /** Copy constructor */
- Gene(const Gene& gene) : value(gene.value) {}
-
- /**
- * Copy operator.
- *
- * @param gene Gene from which the value should be copied.
- * @return Gene instance containing copied value
- */
- Gene& operator=(const Gene& gene) {
- this->value = gene.value;
- return *this;
- }
-
- /**
- * Allows read-only access to Gene value
- */
- Type get() const {
- return value;
- }
- };
-}
-
-#endif /* __GENE_H */