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