interface.h
来自「C++神经网络开发包,基于C++语言」· C头文件 代码 · 共 62 行
H
62 行
#ifndef _PUBLIC_ANN_INTERFACE_H
#define _PUBLIC_ANN_INTERFACE_H
/*
* public/ann/interface.h
* 2004-04-24 by ShanLanshan
*
* Define ann lib interface
*/
#include "public/ann/annbase.h"
namespace ann {
class ISerialObj {
public:
virtual ostream& operator >>(ostream &os) = 0;
virtual istream& operator <<(istream &is) = 0;
};
inline ostream& operator << (ostream &os, ISerialObj &so) {return so >> os;}
inline istream& operator >> (istream &is, ISerialObj &so) {return so << is;}
class IAnnVector {
public:
virtual ~IAnnVector();
virtual IAnnVector* get_sub_vector(int off, int len, IAnnVector *vec) = 0;
virtual void set_size(ann_int size) = 0;
virtual ann_int get_size() = 0;
virtual ann_float get_element(int n) = 0;
virtual void set_element(int n, ann_float v) = 0;
virtual void get_element(int i, ann_float a[], int n) = 0;
virtual void set_element(int i, ann_float a[], int n) = 0;
virtual ann_float *get_buffer() = 0;
virtual void release_buffer() = 0;
virtual IAnnVector& operator=(IAnnVector &av) = 0;
virtual bool operator ==(IAnnVector &av) = 0;
//virtual ostream& operator >>(ostream &os) = 0;
};
//inline ostream& operator << (ostream &os, IAnnVector &av) {return av >> os;}
class IAnnVectorContainer {
public:
virtual ~IAnnVectorContainer();
virtual bool add(IAnnVector &vec) = 0;
virtual IAnnVector *get_vector(int i) = 0;
virtual ann_uint get_count() = 0;
};
class IAnnVectorConverter {
public:
virtual ~IAnnVectorConverter();
virtual bool set_input(IAnnVector *vecin) = 0;
virtual bool get_output(IAnnVector *vecout) = 0;
virtual bool learn(IAnnVector *vecout) = 0;
virtual bool convert() = 0;
};
} // namespace ann
#endif /* !_PUBLIC_ANN_INTERFACE_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?