Improve comments and documentation.
[genetic.git] / src / gene.h
index e4142811b3e23bd31724d9a3ae7a243af828e801..f3b3c55fa1846ae6efc45c339724afd8d4421e20 100644 (file)
@@ -4,15 +4,26 @@
 namespace genetic {
 
     /**
-     * Gene.
+     * 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;
     public:
+        /**
+         * Default constructor
+         */
         Gene() {}
 
+        /**
+         * Class constructor, initializes Gene with default value.
+         */
         Gene(Type value) {
             this->value = value;
         }
@@ -20,11 +31,20 @@ namespace genetic {
         /** Copy constructor */
         Gene(const Gene& gene) : value(gene.get()) {}
 
+        /**
+         * 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.get();
             return *this;
         }
 
+        /**
+         * Allows read-only access to Gene value
+         */
         Type get() const {
             return value;
         }