#pragma once #include #include "Neuron.h" class Layer : public std::vector < Neuron > { private: bool m_hasBiasNeuron = false; public: Layer(size_t numNeurons); void setOutputValues(const std::vector & outputValues); void feedForward(const Layer &inputLayer); double getWeightedSum(size_t outputNeuron) const; void connectTo(const Layer &nextLayer); void updateInputWeights(Layer &prevLayer); void addBiasNeuron(); bool hasBiasNeuron() const; size_t sizeWithoutBiasNeuron() const; };