#include "pp.h" void Cd_graph::collect_alternatives( Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts ) { DEM_TRACE("Cd_graph","void Cd_graph::collect_alternatives(Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts)"); // prefix class wrappers adjacencies->collect_alternatives(c, svertex, alts); // suffix class wrappers } void Adjacency_Nlist::collect_alternatives( Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts ) { DEM_TRACE("Adjacency_Nlist","void Adjacency_Nlist::collect_alternatives(Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts)"); // prefix class wrappers Adjacency_list_iterator next(*this); Adjacency* each; while (each = next()) { Vertex_list_iterator nextsuper(*each->get_superclasses()); Vertex* eachsuper; while (eachsuper = nextsuper()) if (eachsuper->equal(svertex)) break; if (eachsuper) { if (c == NULL || !c->isXInhEdgeInTheList(each->get_source(), svertex)) { alts->append(each->get_source()); this->collect_alternatives(c,each->get_source(),alts); } } } // suffix class wrappers } void Neighbors::collect_alternatives( Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts,Adjacency_Nlist* adjs ) { DEM_TRACE("Neighbors","void Neighbors::collect_alternatives(Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts,Adjacency_Nlist* adjs)"); // prefix class wrappers // suffix class wrappers } void Neighbors_wc::collect_alternatives( Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts,Adjacency_Nlist* adjs ) { DEM_TRACE("Neighbors_wc","void Neighbors_wc::collect_alternatives(Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts,Adjacency_Nlist* adjs)"); // prefix class wrappers // suffix class wrappers } void Alternat_ns::collect_alternatives( Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts,Adjacency_Nlist* adjs ) { DEM_TRACE("Alternat_ns","void Alternat_ns::collect_alternatives(Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts,Adjacency_Nlist* adjs)"); // prefix class wrappers if (alternat_ns) alternat_ns->collect_alternatives(c, svertex, alts, adjs); // suffix class wrappers } void Term_Barlist::collect_alternatives( Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts,Adjacency_Nlist* adjs ) { DEM_TRACE("Term_Barlist","void Term_Barlist::collect_alternatives(Path_constraint_exp* c,Vertex* svertex,Vertex_List* alts,Adjacency_Nlist* adjs)"); // prefix class wrappers Term_list_iterator next(*this); Term* each; while (each = next()) if (c == NULL || !c->isXInhEdgeInTheList(each->get_vertex(), svertex)) { alts->append(each->get_vertex()); adjs->collect_alternatives(c, each->get_vertex(), alts); } // suffix class wrappers }