1 # ifndef TPL_TEST_CYCLE_H
2 # define TPL_TEST_CYCLE_H
17 template <
class GT,
class SA = Dft_Show_Arc<GT>>
20 typename GT::Node * src;
23 bool test_cycle(
typename GT::Node * curr)
31 NODE_BITS(curr).set_bit(Test_Cycle,
true);
36 typename GT::Arc * arc = it.get_current_arc();
40 ARC_BITS(arc).set_bit(Test_Cycle,
true);
42 if (test_cycle(it.get_tgt_node()))
51 bool test_cycle(GT & g,
typename GT::Node * s)
55 g.reset_bit_nodes(Test_Cycle);
56 g.reset_bit_arcs(Test_Cycle);
61 typename GT::Arc * arc = it.get_current_arc();
65 ARC_BITS(arc).set_bit(Test_Cycle,
true);
67 if (test_cycle(it.get_tgt_node()))
93 return this->test_cycle(g, src);
100 # endif // TPL_TEST_CYCLE_H
#define IS_NODE_VISITED(p, bit)
Definition: aleph-graph.H:242
#define IS_ARC_VISITED(p, bit)
Definition: aleph-graph.H:275
void next()
Adelanta el iterador una posición.
Definition: filter_iterator.H:143
#define NODE_BITS(p)
Definition: aleph-graph.H:221
#define ARC_BITS(p)
Definition: aleph-graph.H:266
Definition: tpl_test_cycle.H:18
Definition: tpl_graph.H:694
bool operator()(GT &g, typename GT::Node *src)
Definition: tpl_test_cycle.H:91