source file FlowerLib
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "directed-graph.hh"
}
Link_array<Directed_graph_node> const &
-Directed_graph_node::get_out_edge_arr()const
+Directed_graph_node::get_out_edge_arr() const
{
return edge_out_l_arr_;
}
Directed_graph_node::copy_edges_out (Directed_graph_node const &s)
{
for (int i=0; i < s.edge_out_l_arr_.size(); i++)
- add (s.edge_out_l_arr_[i]);
+ add_edge (s.edge_out_l_arr_[i]);
}
void
#ifndef NDEBUG
for (int i=0; i < edge_out_l_arr_.size(); i++)
{
- assert (edge_out_l_arr_[i]->
- edge_in_l_arr_.find_l (this));
+ assert (edge_out_l_arr_[i]->
+ edge_in_l_arr_.find_l (this));
}
for (int i=0; i < edge_in_l_arr_.size(); i++)
- assert (edge_in_l_arr_[i]->contains_b (this));
+ assert (edge_in_l_arr_[i]->contains_b (this));
#endif
}
bool
-Directed_graph_node::contains_b (const Directed_graph_node *d)const
+Directed_graph_node::contains_b (const Directed_graph_node *d) const
{
return edge_out_l_arr_.find_l ((Directed_graph_node*)d);
}
PARANOID_OK();
for (int i=0; i < edge_out_l_arr_.size();)
{
- if (edge_out_l_arr_[i]== d_l)
- remove_edge_out_idx (i);
- else
- i++;
+ if (edge_out_l_arr_[i]== d_l)
+ remove_edge_out_idx (i);
+ else
+ i++;
}
PARANOID_OK();
}
bool
-Directed_graph_node::linked_b()const
+Directed_graph_node::linked_b() const
{
return edge_out_l_arr_.size() || edge_in_l_arr_.size ();
}
Directed_graph_node::unlink()
{
#ifdef PARANOID
- PARANOID_OK();
+ PARANOID_OK();
- Link_array<Directed_graph_node> t = edge_out_l_arr_;
- t.concat (edge_in_l_arr_);
+ Link_array<Directed_graph_node> t = edge_out_l_arr_;
+ t.concat (edge_in_l_arr_);
#endif
- while ( edge_out_l_arr_.size())
- remove_edge_out_idx (0);
+ while (edge_out_l_arr_.size())
+ remove_edge_out_idx (0);
- while (edge_in_l_arr_.size())
- remove_edge_in (edge_in_l_arr_[0]);
+ while (edge_in_l_arr_.size())
+ remove_edge_in (edge_in_l_arr_[0]);
#ifdef PARANOID
- for (int i =0; i < t.size(); i++)
- t[i]->OK();
+ for (int i =0; i < t.size(); i++)
+ t[i]->OK();
#endif
}
Directed_graph_node::~Directed_graph_node()
{
- assert (!linked_b());
+ // assert (!linked_b()); // hampered by memfrobbing
}
void
-Directed_graph_node::add (Directed_graph_node* dep_l)
+Directed_graph_node::add_edge (Directed_graph_node* dep_l)
{
PARANOID_OK();
if (!dep_l)
- return ;
+ return ;
dep_l->edge_in_l_arr_.push (this);
edge_out_l_arr_.push (dep_l);
PARANOID_OK();