00001 #ifndef ANDEXPR_H 00002 #define ANDEXPR_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 AndExpr : public BinaryLogicalExpr 00023 { 00024 public: 00025 /** */ 00026 AndExpr(const LogicalExpr& left, const LogicalExpr& right) 00027 : BinaryLogicalExpr(left, right) {;} 00028 00029 /** TUVD */ 00030 virtual ~AndExpr(){;} 00031 00032 /** */ 00033 virtual bool evaluate(const Cell& cell) const ; 00034 00035 protected: 00036 /** description of operator, used as tag in toXML() */ 00037 virtual string opType() const {return "LogicalAnd";} 00038 }; 00039 00040 00041 00042 00043 00044 } 00045 #endif