diff --git a/packages/CLPBN/horus/ElimGraph.cpp b/packages/CLPBN/horus/ElimGraph.cpp index 128b1fd0a..f9e4532d8 100644 --- a/packages/CLPBN/horus/ElimGraph.cpp +++ b/packages/CLPBN/horus/ElimGraph.cpp @@ -166,7 +166,7 @@ ElimGraph::addNode (EGNode* n) -EGNode* +ElimGraph::EGNode* ElimGraph::getEGNode (VarId vid) const { std::unordered_map::const_iterator it; @@ -176,7 +176,7 @@ ElimGraph::getEGNode (VarId vid) const -EGNode* +ElimGraph::EGNode* ElimGraph::getLowestCostNode (void) const { EGNode* bestNode = 0; diff --git a/packages/CLPBN/horus/ElimGraph.h b/packages/CLPBN/horus/ElimGraph.h index 8b97fe2f3..e51c8a593 100644 --- a/packages/CLPBN/horus/ElimGraph.h +++ b/packages/CLPBN/horus/ElimGraph.h @@ -13,28 +13,6 @@ namespace Horus { -class EGNode; - -typedef TinySet EGNeighs; - - -class EGNode : public Var { - public: - EGNode (VarId vid, unsigned range) : Var (vid, range) { } - - void addNeighbor (EGNode* n) { neighs_.insert (n); } - - void removeNeighbor (EGNode* n) { neighs_.remove (n); } - - bool isNeighbor (EGNode* n) const { return neighs_.contains (n); } - - const EGNeighs& neighbors (void) const { return neighs_; } - - private: - EGNeighs neighs_; -}; - - class ElimGraph { public: enum ElimHeuristic { @@ -63,6 +41,26 @@ class ElimGraph { static void setElimHeuristic (ElimHeuristic eh) { elimHeuristic_ = eh; } private: + class EGNode; + + typedef TinySet EGNeighs; + + class EGNode : public Var { + public: + EGNode (VarId vid, unsigned range) : Var (vid, range) { } + + void addNeighbor (EGNode* n) { neighs_.insert (n); } + + void removeNeighbor (EGNode* n) { neighs_.remove (n); } + + bool isNeighbor (EGNode* n) const { return neighs_.contains (n); } + + const EGNeighs& neighbors (void) const { return neighs_; } + + private: + EGNeighs neighs_; + }; + void addEdge (EGNode* n1, EGNode* n2); unsigned getNeighborsCost (const EGNode* n) const;