#include "pp.h" void Path_constraint_exp::isSCCEdgeForcedByThru( Cd_graph* cd,int fromv,int tov,int& result ) { DEM_TRACE("Path_constraint_exp","void Path_constraint_exp::isSCCEdgeForcedByThru(Cd_graph* cd,int fromv,int tov,int& result)"); // prefix class wrappers result = 0; // suffix class wrappers } void Require_through::isSCCEdgeForcedByThru( Cd_graph* cd,int fromv,int tov,int& result ) { DEM_TRACE("Require_through","void Require_through::isSCCEdgeForcedByThru(Cd_graph* cd,int fromv,int tov,int& result)"); // prefix class wrappers through->isSCCEdgeForcedByThru(cd, fromv, tov, result); // suffix class wrappers } void Require_bypassing::isSCCEdgeForcedByThru( Cd_graph* cd,int fromv,int tov,int& result ) { DEM_TRACE("Require_bypassing","void Require_bypassing::isSCCEdgeForcedByThru(Cd_graph* cd,int fromv,int tov,int& result)"); // prefix class wrappers if (through) through->isSCCEdgeForcedByThru(cd, fromv, tov, result); else result = 0; // suffix class wrappers } void Through_path_constraint::isSCCEdgeForcedByThru( Cd_graph* cd,int fromv,int tov,int& result ) { DEM_TRACE("Through_path_constraint","void Through_path_constraint::isSCCEdgeForcedByThru(Cd_graph* cd,int fromv,int tov,int& result)"); // prefix class wrappers through->isSCCEdgeForcedByThru(cd, fromv, tov, result); // suffix class wrappers } void Meta_edge_Commalist::isSCCEdgeForcedByThru( Cd_graph* cd,int fromv,int tov,int& result ) { DEM_TRACE("Meta_edge_Commalist","void Meta_edge_Commalist::isSCCEdgeForcedByThru(Cd_graph* cd,int fromv,int tov,int& result)"); // prefix class wrappers Meta_edge_list_iterator next(*this); Meta_edge* each; while (each = next()) { each->isSCCEdgeForcedByThru(cd, fromv, tov, result); if (result) return; } result = 0; // suffix class wrappers } void Meta_edge::isSCCEdgeForcedByThru( Cd_graph* cd,int fromv,int tov,int& result ) { DEM_TRACE("Meta_edge","void Meta_edge::isSCCEdgeForcedByThru(Cd_graph* cd,int fromv,int tov,int& result)"); // prefix class wrappers // suffix class wrappers } void Meta_alternation_edge::isSCCEdgeForcedByThru( Cd_graph* cd,int fromv,int tov,int& result ) { DEM_TRACE("Meta_alternation_edge","void Meta_alternation_edge::isSCCEdgeForcedByThru(Cd_graph* cd,int fromv,int tov,int& result)"); // prefix class wrappers int sv = 0; int tv = 0; Vertex* s = NULL; Vertex* t = NULL; from->get_single_vertex(s); to->get_single_vertex(t); cd->get_vert_scc(s,sv); cd->get_vert_scc(t,tv); result = ((sv == fromv) && (tv == tov)); // suffix class wrappers } void Meta_construction_edge::isSCCEdgeForcedByThru( Cd_graph* cd,int fromv,int tov,int& result ) { DEM_TRACE("Meta_construction_edge","void Meta_construction_edge::isSCCEdgeForcedByThru(Cd_graph* cd,int fromv,int tov,int& result)"); // prefix class wrappers int sv = 0; int tv = 0; Vertex* s = NULL; Vertex* t = NULL; from->get_single_vertex(s); to->get_single_vertex(t); cd->get_vert_scc(s,sv); cd->get_vert_scc(t,tv); result = ((sv == fromv) && (tv == tov)); // suffix class wrappers } void Meta_inheritance_edge::isSCCEdgeForcedByThru( Cd_graph* cd,int fromv,int tov,int& result ) { DEM_TRACE("Meta_inheritance_edge","void Meta_inheritance_edge::isSCCEdgeForcedByThru(Cd_graph* cd,int fromv,int tov,int& result)"); // prefix class wrappers int sv = 0; int tv = 0; Vertex* s = NULL; Vertex* t = NULL; from->get_single_vertex(s); to->get_single_vertex(t); cd->get_vert_scc(s,sv); cd->get_vert_scc(t,tv); result = ((sv == fromv) && (tv == tov)); // suffix class wrappers } void Meta_repetition_edge::isSCCEdgeForcedByThru( Cd_graph* cd,int fromv,int tov,int& result ) { DEM_TRACE("Meta_repetition_edge","void Meta_repetition_edge::isSCCEdgeForcedByThru(Cd_graph* cd,int fromv,int tov,int& result)"); // prefix class wrappers int sv = 0; int tv = 0; Vertex* s = NULL; Vertex* t = NULL; from->get_single_vertex(s); to->get_single_vertex(t); cd->get_vert_scc(s,sv); cd->get_vert_scc(t,tv); result = ((sv == fromv) && (tv == tov)); // suffix class wrappers }