|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Checks whether a path exists between two nodes. More...
#include <tpl_test_path.H>
Public Member Functions | |
| Test_For_Path (SA __sa=SA()) | |
| bool | operator() (const GT &g, typename GT::Node *start_node, typename GT::Node *end_node) |
| Invokes the test for a path's existence between two nodes. | |
Private Member Functions | |
| bool | test_path (typename GT::Node *curr) |
| bool | test_path (const GT &g, typename GT::Node *src, typename GT::Node *dest) |
Private Attributes | |
| SA | sa |
| GT::Node * | tgt = nullptr |
Checks whether a path exists between two nodes.
Test_For_Path explores graph g depth-first starting from a start node, searching for a path that leads to a destination one.
The class takes two type parameters:
The test_path bit is used to mark the nodes and arcs visited during the search.
Definition at line 69 of file tpl_test_path.H.
|
inline |
Definition at line 127 of file tpl_test_path.H.
|
inline |
Invokes the test for a path's existence between two nodes.
| [in] | g | the graph to search a path in. |
| [in] | start_node | pointer to the path's source node. |
| [in] | end_node | pointer to the path's destination node. |
Definition at line 136 of file tpl_test_path.H.
References Aleph::blossom_maximum_cardinality_matching(), and Aleph::Test_For_Path< GT, SA >::test_path().
|
inlineprivate |
Definition at line 101 of file tpl_test_path.H.
References Aleph::and, ARC_BITS, Aleph::blossom_maximum_cardinality_matching(), Aleph::Find_Path, GraphCommon< GT, Node, Arc >::get_num_arcs(), GraphCommon< GT, Node, Arc >::get_num_nodes(), GraphCommon< GT, Node, Arc >::is_digraph(), Aleph::Filter_Iterator< Container, It, Show_Item >::next_ne(), GraphCommon< GT, Node, Arc >::reset_bit_arcs(), GraphCommon< GT, Node, Arc >::reset_bit_nodes(), Aleph::Test_For_Path< GT, SA >::sa, Aleph::Test_For_Path< GT, SA >::test_path(), and Aleph::Test_For_Path< GT, SA >::tgt.
|
inlineprivate |
Definition at line 74 of file tpl_test_path.H.
References ARC_BITS, Aleph::Find_Path, IS_ARC_VISITED, IS_NODE_VISITED, Aleph::Filter_Iterator< Container, It, Show_Item >::next_ne(), NODE_BITS, Aleph::Test_For_Path< GT, SA >::sa, Aleph::Test_For_Path< GT, SA >::test_path(), and Aleph::Test_For_Path< GT, SA >::tgt.
Referenced by Aleph::Test_For_Path< GT, SA >::operator()(), Aleph::Test_For_Path< GT, SA >::test_path(), and Aleph::Test_For_Path< GT, SA >::test_path().
|
private |
Definition at line 71 of file tpl_test_path.H.
Referenced by Aleph::Test_For_Path< GT, SA >::test_path(), and Aleph::Test_For_Path< GT, SA >::test_path().
|
private |
Definition at line 72 of file tpl_test_path.H.
Referenced by Aleph::Test_For_Path< GT, SA >::test_path(), and Aleph::Test_For_Path< GT, SA >::test_path().