cyclegraph: template-ize addRMWEdge()
[model-checker.git] / cyclegraph.h
index 749abf8ca847d9969016356101b153c4d0688a84..a9e46120f1f3efac17efacb9a608abca451868d4 100644 (file)
@@ -30,8 +30,10 @@ class CycleGraph {
        template <typename T, typename U>
        bool addEdge(const T from, const U to);
 
+       template <typename T>
+       void addRMWEdge(const T *from, const ModelAction *rmw);
+
        bool checkForCycles() const;
-       void addRMWEdge(const ModelAction *from, const ModelAction *rmw);
        bool checkPromise(const ModelAction *from, Promise *p) const;
 
        template <typename T>
@@ -102,11 +104,6 @@ class CycleNode {
        void clearRMW() { hasRMW = NULL; }
        const ModelAction * getAction() const { return action; }
        const Promise * getPromise() const { return promise; }
-
-       void popEdge() {
-               edges.pop_back();
-       }
-
        bool is_promise() const { return !action; }
        void resolvePromise(const ModelAction *writer);