AffineExprAbstraction.hpp

Go to the documentation of this file.
00001 #ifndef OA_AffineExpr_H
00002 #define OA_AffineExpr_H
00003 
00004 #include <map>
00005 #include <OpenAnalysis/Utils/OA_ptr.hpp>
00006 #include <OpenAnalysis/Location/NamedLoc.hpp>
00007 #include <OpenAnalysis/OABase/Annotation.hpp>
00008 #include <OpenAnalysis/Utils/GenOutputTool.hpp>
00009 using namespace std;
00010 
00011 namespace OA {
00012 namespace AffineExpr {
00013 
00024 class AffineExprAbstraction : public virtual Annotation {
00025   public:
00026     AffineExprAbstraction();
00027     void setOffset(int offset) { mOffset = offset; }
00028     void addTerm(OA_ptr<NamedLoc> var, int value);
00029 
00030   // - [output methods] - (derived from Annotation)
00031     virtual void output(IRHandlesIRInterface &ir);
00032 
00033   private:
00034   OUTPUT
00035     GENOUT  map<OA_ptr<NamedLoc>, int> mCoefficients;
00036     GENOUT  int mOffset;
00037 };
00038 
00039 } } // end namespaces
00040 
00041 #endif
00042 

Generated on Sat Oct 31 05:21:19 2009 for OpenAnalysis by  doxygen 1.6.1