00001 // Emacs -*- C++ -*- 00002 #ifndef ANAPHE_AIDA_FILTERRANGE 00003 #define ANAPHE_AIDA_FILTERRANGE 1 00004 00005 #include "AIDA_Filter.h" 00006 00007 namespace AIDA { 00008 namespace Dev { 00009 class ITupleHeader; 00010 } 00011 } 00012 00013 namespace Anaphe { 00014 namespace AIDA_Tuple_native { 00015 00016 class AIDA_FilterRange : public AIDA_Filter 00017 { 00018 public: 00019 // Constructor 00020 AIDA_FilterRange( CompiledExpressionManager& manager, 00021 const std::string& expression, 00022 int numberOfRows, 00023 int startingRow ); 00024 // Destructor 00025 ~AIDA_FilterRange(){}; 00026 00027 // Methods inherited from AIDA/IFilter 00028 bool initialize( AIDA::ITuple & tuple ); 00029 bool accept() const; 00030 00031 private: 00032 int m_startingRow; 00033 int m_endingRow; 00034 AIDA::Dev::ITupleHeader* m_header; 00035 }; 00036 00037 } 00038 } 00039 00040 #endif /* ifndef ANAPHE_AIDA_FILTERRANGE */