#ifndef __HYPERNEAT_GENOME_HPP__ #define __HYPERNEAT_GENOME_HPP__ #include #include #include namespace hyperneat { class Genome { public: Genome() = default; explicit Genome(size_t inputs); class NodeGene { public: NodeGene() = default; NodeGene(double depth, NodeType nodeType); class LinkGene { public: LinkGene() = default; LinkGene(double weight, bool isEnabled = true); double _weight = 0.0; bool _isEnabled = true; }; double _depth = 0.0; NodeType _nodeType = NodeType::NULL_TYPE; Map _linkGenes; }; size_t _inputs = 0; Map _nodeGenes; }; } #endif