Aleph-w  1.5a.2
Biblioteca general de algoritmos y estructuras de datos
 Todo Clases Archivos Funciones Variables 'typedefs' Enumeraciones Amigas Grupos Páginas
tpl_test_connectivity.H
1 # ifndef TPL_TEST_CONNECTIVITY_H
2 # define TPL_TEST_CONNECTIVITY_H
3 
4 # include <tpl_graph_utils.H>
5 
6 
27  template <class GT, class SA = Dft_Show_Arc<GT> >
29 {
30 public:
31 
44  bool operator () (GT & g, SA && sa = SA()) const
45  {
46  if (g.is_digraph()) // sólo es válida para grafos, no digrafos
47  throw std::domain_error("test_connectivity() does not work on digraphs");
48 
49  if (g.get_num_arcs() < g.get_num_nodes() - 1)
50  return false;
51 
53 
54  return traversal(g) == g.get_num_nodes();
55  }
56 
69  bool operator () (GT & g, SA & sa) const
70  {
71  if (g.is_digraph()) // sólo es válida para grafos, no digrafos
72  throw std::domain_error("test_connectivity() does not work on digraphs");
73 
74  if (g.get_num_arcs() < g.get_num_nodes() - 1)
75  return false;
76 
78 
79  return traversal(g) == g.get_num_nodes();
80  }
81 };
82 
83 
84 
85 # endif // TPL_TEST_CONNECTIVITY_H
Definition: tpl_graph_utils.H:195
Definition: tpl_test_connectivity.H:28
bool operator()(GT &g, SA &&sa=SA()) const
Definition: tpl_test_connectivity.H:44

Leandro Rabindranath León