#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(int outputNeuron) const; void connectTo(const Layer & nextLayer); void updateInputWeights(Layer &prevLayer); void addBiasNeuron(); bool hasBiasNeuron() const; size_t sizeWithoutBiasNeuron() const; };