Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _CPREPROC__H__
00013 #define _CPREPROC__H__
00014
00015 #include "lib/common.h"
00016 #include "base/SGObject.h"
00017 #include "features/FeatureTypes.h"
00018 #include "features/Features.h"
00019
00020 namespace shogun
00021 {
00022 class CFeatures;
00023 enum EFeatureType;
00024 enum EFeatureClass;
00025
00026 enum EPreProcType
00027 {
00028 P_UNKNOWN=0,
00029 P_NORMONE=10,
00030 P_LOGPLUSONE=20,
00031 P_SORTWORDSTRING=30,
00032 P_SORTULONGSTRING=40,
00033 P_SORTWORD=50,
00034 P_PRUNEVARSUBMEAN=60,
00035 P_DECOMPRESSCHARSTRING=70,
00036 P_DECOMPRESSBYTESTRING=80,
00037 P_DECOMPRESSWORDSTRING=90,
00038 P_DECOMPRESSULONGSTRING=100,
00039 };
00040
00041 class CFeatures;
00042
00057 class CPreProc : public CSGObject
00058 {
00059 public:
00065 CPreProc(const char* name, const char* id);
00066 virtual ~CPreProc();
00067
00069 virtual bool init(CFeatures* f)=0;
00070
00072 virtual void cleanup()=0;
00073
00076 virtual EFeatureType get_feature_type()=0;
00077
00081 virtual EFeatureClass get_feature_class()=0;
00082
00084 virtual const char* get_name() const { return preproc_name; }
00085
00087 const char * get_id() const { return preproc_id; }
00088
00089 protected:
00091 const char* preproc_name;
00093 const char* preproc_id;
00094 };
00095 }
00096 #endif