00001 #ifndef OREXPR_H 00002 #define OREXPR_H 00003 00004 #include "SundanceDefs.h" 00005 #include "BinaryLogicalExpr.h" 00006 #include "LogicalExpr.h" 00007 #include "XMLObject.h" 00008 #include "Cell.h" 00009 00010 namespace Sundance 00011 { 00012 00013 using namespace TSF; 00014 using std::string; 00015 00016 using std::ostream; 00017 00018 /** 00019 * \ingroup LowLevelSymbolics 00020 */ 00021 00022 class OrExpr : public BinaryLogicalExpr 00023 { 00024 public: 00025 /** */ 00026 OrExpr(const LogicalExpr& left, const LogicalExpr& right) 00027 : BinaryLogicalExpr(left, right) {;} 00028 00029 /** TUVD */ 00030 virtual ~OrExpr(){;} 00031 00032 /** */ 00033 virtual bool evaluate(const Cell& cell) const ; 00034 00035 00036 private: 00037 /** description of operator, used as tag in toXML() */ 00038 virtual string opType() const {return "LogicalOr";} 00039 }; 00040 00041 00042 00043 00044 00045 } 00046 #endif