-
- template <typename T, typename U>
- void addEdge(const T from, const U to);
-
- bool checkForCycles() const;
- void addRMWEdge(const ModelAction *from, const ModelAction *rmw);
- bool checkPromise(const ModelAction *from, Promise *p) const;
-
- template <typename T>
- bool checkReachable(const ModelAction *from, const T *to) const;
-
- void startChanges();
- void commitChanges();
- void rollbackChanges();
+ void addEdges(SnapList<ModelAction *> * edgeset, ModelAction *to);
+ void addEdge(ModelAction *from, ModelAction *to);
+ void addEdge(ModelAction *from, ModelAction *to, bool forceedge);
+ void addRMWEdge(ModelAction *from, ModelAction *rmw);
+ bool checkReachable(const ModelAction *from, const ModelAction *to) const;
+ void freeAction(const ModelAction * act);