www.pudn.com > bp_cpp.zip > vec_container.h


#ifndef _PUBLIC_ANN_VEC_CONTAINER_H 
#define _PUBLIC_ANN_VEC_CONTAINER_H 
/* 
 * public/ann/vec_container.h 
 * 2004-05-05 by ShanLanshan 
 *  
 * 实现向量容器接口 
 */ 
#include  
#include  
#include "public/ann/interface.h" 
 
namespace ann { 
 
	class AnnVectorContainer: 
		public IAnnVectorContainer, public ISerialObj { 
	private: 
		std::vector m_samples; 
		ann_int m_curr_sample; 
	public: 
		AnnVectorContainer(); 
		virtual ~AnnVectorContainer(); 
		virtual bool add(IAnnVector &vec); 
		virtual IAnnVector* get_vector(int i = -2); 
		virtual ann_uint get_count(); 
		virtual ostream &operator >> (ostream &os); 
		virtual istream &operator << (istream &is); 
	}; 
 
	class AnnSampleSet; 
	extern AnnSampleSet * generate_builtin_sample(const char *name, AnnSampleSet *ass); 
 
	class AnnSampleSet: public ISerialObj { 
	public: 
		char name[64]; 
		AnnVectorContainer m_vec_container; 
		int m_input_division; 
		int m_output_division; 
	public: 
		AnnSampleSet(int in, int out) {set_division(in, out);}; 
		AnnSampleSet(const char *name) { 
			set_division(1, 1); 
			generate_builtin_sample(name, this); 
		}; 
		inline void set_division(int in, int out) { 
			m_input_division = in; 
			m_output_division = out; 
		}; 
		bool get_sample(IAnnVector *vec_in, IAnnVector *vec_out, int i = -2); 
		virtual ostream &operator >> (ostream &os); 
		virtual istream &operator << (istream &is); 
	}; 
 
 
} // namespace ann 
 
#endif // !_PUBLIC_ANN_VEC_CONTAINER_H