@@ -141,27 +141,12 @@ bool IRSolver::check(bool check_bterms)
141141 return connected_.value ();
142142}
143143
144- bool IRSolver::wasNodeVisited (const std::unique_ptr<ITermNode>& node) const
145- {
146- return wasNodeVisited (node.get ());
147- }
148-
149- bool IRSolver::wasNodeVisited (const std::unique_ptr<Node>& node) const
150- {
151- return wasNodeVisited (node.get ());
152- }
153-
154- bool IRSolver::wasNodeVisited (const Node* node) const
155- {
156- return visited_.find (node) != visited_.end ();
157- }
158-
159144bool IRSolver::checkOpen ()
160145{
161146 const utl::DebugScopedTimer timer (
162147 logger_, utl::PSM , " timer" , 1 , " Check open: {}" );
163148
164- visited_. clear ();
149+ network_-> clearVisitedNodes ();
165150 const std::size_t total_nodes = network_->getNodeCount (true );
166151 const auto connections_map = network_->getConnectionMap ();
167152
@@ -179,7 +164,7 @@ bool IRSolver::checkOpen()
179164 while (!queue.empty ()) {
180165 Node* node = queue.front ();
181166 queue.pop ();
182- if (wasNodeVisited ( node)) {
167+ if (node-> isVisited ( )) {
183168 // already been here, so we can continue to next node
184169 continue ;
185170 }
@@ -196,11 +181,11 @@ bool IRSolver::checkOpen()
196181 total_nodes);
197182 }
198183
199- visited_. insert ( node);
184+ node-> setVisited ( true );
200185
201186 for (const auto * conn : connections_map.at (node)) {
202187 Node* next = conn->getOtherNode (node);
203- if (wasNodeVisited ( next)) {
188+ if (next-> isVisited ( )) {
204189 // already been here, so we do not need to add it to the queue
205190 continue ;
206191 }
@@ -210,7 +195,7 @@ bool IRSolver::checkOpen()
210195
211196 for (const auto & [layer, layer_nodes] : network_->getNodes ()) {
212197 for (const auto & node : layer_nodes) {
213- if (wasNodeVisited ( node)) {
198+ if (node-> isVisited ( )) {
214199 continue ;
215200 }
216201
@@ -249,7 +234,7 @@ IRSolver::ConnectivityResults IRSolver::getConnectivityResults() const
249234
250235 for (const auto & [layer, nodes] : network_->getNodes ()) {
251236 for (const auto & node : nodes) {
252- if (wasNodeVisited ( node)) {
237+ if (node-> isVisited ( )) {
253238 continue ;
254239 }
255240
@@ -258,7 +243,7 @@ IRSolver::ConnectivityResults IRSolver::getConnectivityResults() const
258243 }
259244
260245 for (const auto & node : network_->getITermNodes ()) {
261- if (wasNodeVisited ( node)) {
246+ if (node-> isVisited ( )) {
262247 continue ;
263248 }
264249
0 commit comments