#include "pp.h" void Adjacency::do_inherit_function( ostream& strm,Adjacency_Nlist* adjs,int& do_inherit ) { DEM_TRACE("Adjacency","void Adjacency::do_inherit_function(ostream& strm,Adjacency_Nlist* adjs,int& do_inherit)"); // prefix class wrappers if (superclasses) superclasses->do_inherit_function(strm, adjs, do_inherit); // suffix class wrappers } void Vertex_List::do_inherit_function( ostream& strm,Adjacency_Nlist* adjs,int& do_inherit ) { DEM_TRACE("Vertex_List","void Vertex_List::do_inherit_function(ostream& strm,Adjacency_Nlist* adjs,int& do_inherit)"); // prefix class wrappers Vertex_list_iterator next(*this); Vertex* each; while (each = next()) each->do_inherit_function(strm, adjs, do_inherit); // suffix class wrappers } void Vertex::do_inherit_function( ostream& strm,Adjacency_Nlist* adjs,int& do_inherit ) { DEM_TRACE("Vertex","void Vertex::do_inherit_function(ostream& strm,Adjacency_Nlist* adjs,int& do_inherit)"); // prefix class wrappers static DemString * mark = new DemString("propagate"); Adjacency_list_iterator next(*adjs); Adjacency* each; while (each = next()) if (each->get_source()->equal(this)) { if (mark->g_equal(each->get_propagate())==1) { strm << "// (from "; this->get_vertex_name()->pp(strm); strm << ") "; do_inherit = 1; return; } else each->do_inherit_function(strm,adjs,do_inherit); return; } // suffix class wrappers }