00001 00016 #ifndef WorkList_h 00017 #define WorkList_h 00018 00019 //#ifndef DirectedGraph_h 00020 //#include <libs/support/graphs/directedGraph/DirectedGraph.h> 00021 //#endif 00022 // Going to attempt to use DGraph instead 00023 #include <OpenAnalysis/Utils/OA_ptr.hpp> 00024 #include <OpenAnalysis/Utils/DGraph/DGraphInterface.hpp> 00025 #include <OpenAnalysis/Utils/DGraph/DGraphImplement.hpp> 00026 #include <OpenAnalysis/CFG/CFGInterface.hpp> 00027 #include <OpenAnalysis/CFG/CFG.hpp> 00028 00029 #include <iostream> 00030 00031 #include <sys/times.h> 00032 00033 #include <vector> 00034 00035 #include <set> 00036 00037 #include <queue> 00038 00039 namespace OA { 00040 namespace DataFlow { 00041 00042 //********************************************************************* 00043 // class Worklist 00044 //********************************************************************* 00045 00046 class WorkList { 00047 00048 public: 00049 00050 virtual OA_ptr<DGraph::NodeInterface> getNext() = 0; 00051 00052 virtual void add(OA_ptr<DGraph::NodeInterface> node) = 0; 00053 00054 virtual bool isEmpty() = 0; 00055 00056 }; 00057 00058 00059 } // end of DataFlow 00060 } // end of OA namespace 00061 00062 #endif
1.7.1