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

IEvaluatorExpressionBase.h

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

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