00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00014
00015 #define _gnBaseFilter_h_
00016
00017 #include "gn/gnDefs.h"
00018
00019 #include <string>
00020 #include "gn/gnClone.h"
00021 #include "gn/gnDefs.h"
00022
00023 class GNDLLEXPORT gnBaseFilter : public gnClone
00024 {
00025 public:
00026 virtual gnBaseFilter* Clone() const = 0;
00027
00032 virtual string GetName() const;
00037 virtual void SetName( string name );
00038
00044 virtual gnSeqC Filter( const gnSeqC ch ) const = 0;
00045
00052 virtual void Filter( gnSeqC** seq, uint32& len ) const = 0;
00053
00058 virtual void Filter( string &seq ) const = 0;
00059
00060 protected:
00061 string m_name;
00062
00063 };
00064
00065 inline
00066 string gnBaseFilter::GetName() const
00067 {
00068 return m_name;
00069 }
00070 inline
00071 void gnBaseFilter::SetName( string name )
00072 {
00073 m_name = name;
00074 }
00075
00076 #endif
00077