00001 #ifndef NOTEXPR_H
00002 #define NOTEXPR_H
00003
00004 #include "SundanceDefs.h"
00005 #include "LogicalExpr.h"
00006 #include "LogicalExprBase.h"
00007
00008 namespace Sundance
00009 {
00010
00011 using namespace TSF;
00012 using std::string;
00013 using std::ostream;
00014
00015
00016
00017
00018
00019 class NotExpr : public LogicalExprBase
00020 {
00021 public:
00022
00023 NotExpr(const LogicalExpr& expr) : LogicalExprBase(), expr_(expr) {;}
00024
00025
00026 virtual ~NotExpr(){;}
00027
00028
00029 virtual bool evaluate(const Cell& cell) const ;
00030
00031
00032 virtual XMLObject toXML() const ;
00033
00034
00035 virtual bool equals(const LogicalExpr& other) const ;
00036
00037
00038 virtual bool lessThan(const LogicalExpr& other) const ;
00039
00040 private:
00041 LogicalExpr expr_;
00042 };
00043
00044
00045
00046 }
00047 #endif
00048
00049
00050
00051
00052