@@ -253,7 +253,7 @@ class grapht
253253 get_reachable (const std::vector<node_indext> &src, bool forwards) const ;
254254
255255 void disconnect_unreachable (node_indext src);
256- void disconnect_unreachable (std::vector<node_indext> src);
256+ void disconnect_unreachable (const std::vector<node_indext> & src);
257257
258258 void make_chordal ();
259259
@@ -475,16 +475,15 @@ void grapht<N>::visit_reachable(node_indext src)
475475template <class N >
476476void grapht<N>::disconnect_unreachable(node_indext src)
477477{
478- std::vector<node_indext> source_nodes;
479- source_nodes.push_back (src);
478+ const std::vector<node_indext> source_nodes (1 , src);
480479 disconnect_unreachable (source_nodes);
481480}
482481
483482// / Removes any edges between nodes in a graph that are unreachable
484483// / from a vector of start nodes.
485484// / \param src: vector of indices of start nodes
486485template <class N >
487- void grapht<N>::disconnect_unreachable(std::vector<node_indext> src)
486+ void grapht<N>::disconnect_unreachable(const std::vector<node_indext> & src)
488487{
489488 std::vector<node_indext> reachable = get_reachable (src, true );
490489 std::sort (reachable.begin (), reachable.end ());
@@ -493,7 +492,7 @@ void grapht<N>::disconnect_unreachable(std::vector<node_indext> src)
493492 {
494493 if (reachable_idx >= reachable.size ())
495494 return ;
496- PRECONDITION (i <= reachable[reachable_idx]);
495+
497496 if (i > reachable[reachable_idx])
498497 throw " error disconnecting unreachable nodes" ;
499498
0 commit comments