PreProc.h

Go to the documentation of this file.
00001 /*
00002  * This program is free software; you can redistribute it and/or modify
00003  * it under the terms of the GNU General Public License as published by
00004  * the Free Software Foundation; either version 3 of the License, or
00005  * (at your option) any later version.
00006  *
00007  * Written (W) 1999-2008 Soeren Sonnenburg
00008  * Written (W) 1999-2008 Gunnar Raetsch
00009  * Copyright (C) 1999-2008 Fraunhofer Institute FIRST and Max-Planck-Society
00010  */
00011 
00012 #ifndef _CPREPROC__H__
00013 #define _CPREPROC__H__
00014 
00015 #include "lib/common.h"
00016 #include "base/SGObject.h"
00017 #include "features/Features.h"
00018 
00019 class CPreProc;
00020 class CFeatures;
00021 
00023 class CPreProc : public CSGObject
00024 {
00025 public:
00031     CPreProc(const CHAR* name, const CHAR* id);
00032     virtual ~CPreProc();
00033 
00035     virtual bool init(CFeatures* f)=0;
00036     
00038     virtual bool load_init_data(FILE* src)=0;
00039 
00041     virtual bool save_init_data(FILE* dst)=0;
00042 
00044     virtual void cleanup()=0;
00045     
00048     virtual EFeatureType get_feature_type()=0;
00049 
00053     virtual EFeatureClass get_feature_class()=0;
00054 
00056     const CHAR * get_name() const { return preproc_name; }
00057     
00059     const CHAR * get_id() const { return preproc_id; }
00060 
00061  protected:
00063     const CHAR* preproc_name;
00065     const CHAR* preproc_id;
00066 };
00067 #endif

SHOGUN Machine Learning Toolbox - Documentation