00001 00015 #ifndef CountDFSet_H 00016 #define CountDFSet_H 00017 00018 #include <iostream> 00019 #include <set> 00020 #include <algorithm> 00021 #include <iterator> 00022 00023 // abstract interface that this class implements 00024 #include <OpenAnalysis/DataFlow/DataFlowSet.hpp> 00025 00026 namespace OA { 00027 namespace DataFlow { 00028 00029 00030 class CountDFSet : public virtual DataFlowSet { 00031 public: 00032 CountDFSet(); 00033 CountDFSet(int count); 00034 CountDFSet(const CountDFSet &other); 00035 ~CountDFSet() {} 00036 00037 00038 OA_ptr<DataFlowSet> clone(); 00039 00040 // param for these can't be const because will have to 00041 // dynamic cast to specific subclass 00042 bool operator ==(DataFlowSet &other) const; 00043 00044 bool operator !=(DataFlowSet &other) const; 00045 00046 void dump(std::ostream &os); 00047 00048 void dump(std::ostream &os, OA_ptr<IRHandlesIRInterface> ir); 00049 00050 //======================================================== 00051 // methods specific to CountDFSet 00052 //======================================================== 00053 00054 protected: 00055 int mCount; 00056 00057 }; 00058 00059 00060 00061 } // end of DataFlow namespace 00062 } // end of OA namespace 00063 00064 #endif
1.7.1