00001 00012 #ifndef LoopIndex_H 00013 #define LoopIndex_H 00014 00015 #include <OpenAnalysis/Location/Locations.hpp> 00016 #include <OpenAnalysis/Utils/OA_ptr.hpp> 00017 #include <OpenAnalysis/OABase/Annotation.hpp> 00018 #include <OpenAnalysis/Utils/GenOutputTool.hpp> 00019 00020 namespace OA { 00021 namespace Loop { 00022 00024 class LoopIndex : public virtual Annotation { 00025 public: 00026 LoopIndex( 00027 OA_ptr<NamedLoc> variable, 00028 int initialBound, 00029 int terminalBound, 00030 int step); 00031 00032 // - [accessor methods] - 00033 OA_ptr<NamedLoc> getVariable(); 00034 int getInitialBound(); 00035 int getTerminalBound(); 00036 int getStep(); 00037 00038 // - [output methods] - (derived from Annotation) 00039 virtual void output(IRHandlesIRInterface &ir); 00040 00041 private: 00042 OUTPUT 00043 GENOUT OA_ptr<NamedLoc> mVariable; 00044 GENOUT int mInitialBound; 00045 GENOUT int mTerminalBound; 00046 GENOUT int mStep; 00047 }; 00048 00049 } } // end namespaces 00050 00051 #endif 00052
1.6.1