Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

IFilterExpressionBase.h

Go to the documentation of this file.
00001 // Emacs -*- C++ -*-
00002 #ifndef ANAPHE_FILTEREXPRESSIONBASE
00003 #define ANAPHE_FILTEREXPRESSIONBASE 1
00004 
00005 #include <string>
00006 #include <map>
00007 
00008 namespace Anaphe {
00009   namespace AIDA_Tuple_native {
00010 
00011 class IFilterExpressionBase {
00012 public:
00013   virtual ~IFilterExpressionBase() {};
00014   virtual bool bind( const std::map<std::string, void*>& args ) = 0;
00015   virtual bool accept() const = 0;
00016 };
00017 
00018 class IFilterExpressionBaseFactory {
00019 public:
00020   virtual ~IFilterExpressionBaseFactory() {};
00021   virtual IFilterExpressionBase* create() = 0;
00022 };
00023 
00024 template<class T>
00025 class IFilterExpressionFactory : virtual public IFilterExpressionBaseFactory {
00026 public:
00027   IFilterExpressionFactory() {};
00028   ~IFilterExpressionFactory() {};
00029   IFilterExpressionBase* create() { return new T; }  
00030 };
00031 
00032   }
00033 }
00034 
00035 #endif /* ifndef ANAPHE_FILTEREXPRESSIONBASE */

Generated on Tue Feb 18 17:51:19 2003 for AIDA_Tuple_native by doxygen1.2.16