00001
00027
00028
00029
00030
00031
00032
00033 #ifndef __renaming__
00034 #define __renaming__
00035
00036
00037 #include "Var.hpp"
00038 #include "Map.hpp"
00039
00040
00041 class Renaming
00042 : public Map<Var,Var>
00043 {
00044 public:
00045 void push (Var v1, Var v2);
00046 Var get (Var v1);
00047 };
00048
00049
00050
00051
00052 inline
00053 void Renaming::push (Var v1, Var v2)
00054 {
00055 insert (v1, v2);
00056 }
00057
00058
00059 inline
00060 Var Renaming::get (Var v)
00061 {
00062 Var result;
00063 if (find (v, result)) {
00064 return result;
00065 }
00066
00067 return -1;
00068 }
00069
00070
00071 #endif // __renaming__