From 0c0b705a2030faabd0f9540fbe6e474895208fa6 Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Tue, 31 Jul 2012 15:50:07 -0700 Subject: [PATCH] cyclegraph: add destructor, use 'const' appropriately [Split from Brian Demsky's larger commit] --- cyclegraph.cc | 9 ++++++--- cyclegraph.h | 12 ++++++------ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/cyclegraph.cc b/cyclegraph.cc index dad8b7a..fefd595 100644 --- a/cyclegraph.cc +++ b/cyclegraph.cc @@ -6,8 +6,11 @@ CycleGraph::CycleGraph() { hasCycles=false; } +CycleGraph::~CycleGraph() { +} + /** Returns the CycleNode for a given ModelAction. */ -CycleNode * CycleGraph::getNode(ModelAction * action) { +CycleNode * CycleGraph::getNode(const ModelAction * action) { CycleNode *node=actionToNode.get(action); if (node==NULL) { node=new CycleNode(action); @@ -17,7 +20,7 @@ CycleNode * CycleGraph::getNode(ModelAction * action) { } /** Adds an edge between two ModelActions. */ -void CycleGraph::addEdge(ModelAction *from, ModelAction *to) { +void CycleGraph::addEdge(const ModelAction *from, const ModelAction *to) { CycleNode *fromnode=getNode(from); CycleNode *tonode=getNode(to); if (!hasCycles) { @@ -57,7 +60,7 @@ bool CycleGraph::checkForCycles() { } /** Constructor for a CycleNode. */ -CycleNode::CycleNode(ModelAction *modelaction) { +CycleNode::CycleNode(const ModelAction *modelaction) { action=modelaction; } diff --git a/cyclegraph.h b/cyclegraph.h index a748c77..a98e68c 100644 --- a/cyclegraph.h +++ b/cyclegraph.h @@ -12,25 +12,25 @@ class ModelAction; class CycleGraph { public: CycleGraph(); - void addEdge(ModelAction *from, ModelAction *to); + ~CycleGraph(); + void addEdge(const ModelAction *from, const ModelAction *to); bool checkForCycles(); private: - CycleNode * getNode(ModelAction *); - HashTable actionToNode; + CycleNode * getNode(const ModelAction *); + HashTable actionToNode; bool checkReachable(CycleNode *from, CycleNode *to); bool hasCycles; - }; class CycleNode { public: - CycleNode(ModelAction *action); + CycleNode(const ModelAction *action); void addEdge(CycleNode * node); std::vector * getEdges(); private: - ModelAction *action; + const ModelAction *action; std::vector edges; }; -- 2.34.1