#ifndef _SYNAPSEMATRIX_H
#define _SYNAPSEMATRIX_H
#include "synapse.h"
#include <iostream>
#include <iomanip>
using namespace std;

class SynapseMatrix{
    private:
        Synapse** matrix;
        unsigned int nbrLine;
        unsigned int nbrCol;
        void createMatrix(unsigned int line,unsigned int col);
        void deleteMatrix();
    public:
        SynapseMatrix();
        SynapseMatrix(unsigned int nbrL,unsigned int nbrC);
        unsigned int getLineCount() const;
        unsigned int getColumnCount() const;
        void randomize();
        friend ostream & operator<<(ostream & os,const SynapseMatrix & mat);
        Synapse& operator()(const unsigned int i,const unsigned int j) const throw(const unsigned int,std::string);
        SynapseMatrix& operator =(const SynapseMatrix& s);
        ~SynapseMatrix();
    };



#endif
