00001 00016 #ifndef DataFlowSet_h 00017 #define DataFlowSet_h 00018 00019 #include <iostream> 00020 #include <OpenAnalysis/Utils/OA_ptr.hpp> 00021 #include <OpenAnalysis/IRInterface/IRHandles.hpp> 00022 00023 namespace OA { 00024 namespace DataFlow { 00025 00026 class DataFlowSet { 00027 protected: 00028 //DataFlowSet() {}, why did I do this before? 00029 public: 00030 DataFlowSet() {} 00031 virtual ~DataFlowSet() {} 00032 00033 // FIXME: is this comment true? 00034 // param for these can't be const because will have to 00035 // dynamic cast to specific subclass 00036 00037 //virtual DataFlowSet& operator =(DataFlowSet &other) = 0; 00038 00039 virtual bool operator ==(DataFlowSet &other) const = 0; 00040 virtual bool operator !=(DataFlowSet &other) const = 0; 00041 00042 //virtual DataFlowSet* setUnion(DataFlowSet *other) = 0; 00043 //virtual DataFlowSet* setIntersect(DataFlowSet *other) = 0; 00044 00045 virtual OA_ptr<DataFlowSet> clone() = 0; 00046 00047 virtual void dump(std::ostream &os) = 0; 00048 virtual void dump(std::ostream &os, OA_ptr<IRHandlesIRInterface>) = 0; 00049 }; 00050 00051 } // end of DataFlow namespace 00052 } // end of OA namespace 00053 00054 #endif
1.6.1