#pragma once #include #include #include "interfaces/ineurallayer.h" class NeuralNet; class INeuron; class NeuralLayer : public QObject, public INeuralLayer { Q_OBJECT public: explicit NeuralLayer(NeuralNet *neuralNet); // INeuralLayer interface void pulse() Q_DECL_OVERRIDE; void applyLearning() Q_DECL_OVERRIDE; void initializeLearning() Q_DECL_OVERRIDE; INeuron *addNeuron(qreal bias); QList &neurons() Q_DECL_OVERRIDE; const QList &neurons() const Q_DECL_OVERRIDE; private: NeuralNet *m_neuralNet; QList m_neurons; };