ReachDefs/Interface.hpp

Go to the documentation of this file.
00001 
00015 #ifndef ReachDefsInterface_hpp
00016 #define ReachDefsInterface_hpp
00017 
00018 #include <cassert>
00019 #include <iostream>
00020 #include <map>
00021 #include <set>
00022 #include <vector>
00023 #include <OpenAnalysis/Utils/OA_ptr.hpp>
00024 #include <OpenAnalysis/IRInterface/IRHandles.hpp>
00025 
00026 namespace OA {
00027   namespace ReachDefs {
00028 
00029 
00030 class Interface { 
00031   public:
00032     Interface() {}
00033     virtual ~Interface() {}
00034 
00035     typedef StmtHandleIterator ReachDefsIterator;
00036 
00039     virtual OA_ptr<ReachDefsIterator> getReachDefsIterator(StmtHandle s) = 0;
00040 
00043     virtual OA_ptr<Interface::ReachDefsIterator> getExitReachDefsIterator() = 0;
00044 
00045 };
00046 
00047   } // end of ReachDefs namespace
00048 } // end of OA namespace
00049 
00050 #endif
00051