Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Network.h

Go to the documentation of this file.
00001 #ifndef _NETWORK_H
00002 #define _NETWORK_H
00003 
00004 #include "Neuron.h"
00005 #include "InputNeuron.h"
00006 #include "Link.h"
00007 #include <vector>
00008 #include <string>
00009 
00010 namespace annie
00011 {
00012 
00023 class Network
00024 {
00025 protected:
00029     uint _nInputs;
00030 
00032     uint _nOutputs;
00033 
00035     std::string _metaData;
00036 public:
00042     Network(int inputs,int outputs);
00043 
00045     Network(Network &);
00046 
00047     virtual ~Network();
00048 
00057     virtual Vector getOutput(const Vector &input)=0;
00058 
00060     virtual Vector getOutput(real *input);
00061 
00066     virtual void setMetaData(const char *metaData);
00067 
00072     virtual void setMetaData(std::string metaData);
00073 
00075     virtual std::string getMetaData();
00076 
00078     virtual uint getInputCount() const;
00079 
00081     virtual uint getOutputCount() const;
00082 
00087     virtual const char* getClassName() const =0;
00088 
00090     static std::string getNetworkClassName(const char *filename);
00091 
00096     virtual void save(const std::string &filename)=0;
00097 };
00098 
00099 }; //namespace annie
00100 #endif // define _NETWORK_H
00101 

Generated on Fri Jun 18 13:18:10 2004 for Annie by doxygen 1.3.5