00001 #ifndef BINARYOPCELLSET_H
00002 #define BINARYOPCELLSET_H
00003
00004 #include "SundanceDefs.h"
00005 #include "CellSetBase.h"
00006 #include "CellSet.h"
00007
00008 namespace Sundance
00009 {
00010
00011 using namespace TSF;
00012 using std::string;
00013
00014 using std::ostream;
00015
00016
00017
00018
00019
00020 class BinaryOpCellSet : public CellSetBase
00021 {
00022 public:
00023
00024 BinaryOpCellSet(const CellSet& left, const CellSet& right);
00025
00026
00027 virtual ~BinaryOpCellSet(){;}
00028
00029
00030
00031 virtual int dimension(const Mesh& mesh) const ;
00032
00033
00034 virtual bool equals(const CellSet& other) const ;
00035
00036
00037 virtual bool lessThan(const CellSet& other) const ;
00038
00039
00040 XMLObject toXML() const ;
00041 protected:
00042
00043
00044 virtual string opType() const = 0;
00045
00046 CellSet left_;
00047 CellSet right_;
00048 };
00049
00050
00051
00052 }
00053 #endif