CountDFSet.hpp

Go to the documentation of this file.
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