#include <hohberg_biconnected_components.hpp>

Classes | |
| struct | per_edge_data | 
Public Member Functions | |
| hohberg_vertex_processor () | |
| void | initialize_leader (Vertex alpha, const Graph &g) | 
| void | operator() (Edge e, path_t &path, const Graph &g) | 
| Handle a path message on edge e.  More... | |
| void | operator() (Edge e, Vertex gamma, path_t &in_same_bicomponent, const Graph &g) | 
| Handle a tree message on edge e.  More... | |
| void | operator() (Edge e, edges_size_type name, const Graph &g) | 
| unsigned char | get_phase () const | 
| void | start_naming_phase (Vertex alpha, const Graph &g, edges_size_type offset) | 
| edges_size_type | num_starting_bicomponents (Vertex alpha, const Graph &g) | 
| template<typename ComponentMap > | |
| void | fill_edge_map (Vertex alpha, const Graph &g, ComponentMap &component) | 
Protected Member Functions | |
| void | echo_phase (Vertex alpha, const Graph &g) | 
| std::size_t | get_edge_index (Edge e, const Graph &g) | 
| std::size_t | get_incident_edge_index (Vertex u, Vertex v, const Graph &g) | 
| template<typename Archiver > | |
| void | serialize (Archiver &, const unsigned int) | 
Protected Attributes | |
| unsigned char | phase | 
| Vertex | parent | 
| Vertex | eta | 
| degree_size_type | num_edges_not_transmitted | 
| std::vector< Vertex > | path_from_root | 
| std::vector< per_edge_data > | edge_data | 
| std::vector< edges_size_type > | local_to_global_partitions | 
Friends | |
| class | boost::serialization::access | 
      
  | 
  inline | 
      
  | 
  protected | 
References boost::spirit::ascii::alpha, BGL_FORALL_OUTEDGES_T, boost::algorithm::find(), boost::multiprecision::backends::i, boost::local(), boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::M, boost::accumulators::extract::max, boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::msg, boost::graph::distributed::hohberg_detail::msg_tree_header, boost::graph::distributed::hohberg_detail::msg_tree_vertices, boost::detail::parallel::owner(), boost::process_group(), boost::graph::distributed::send(), boost::graph::target(), and boost::vertex_owner.
| void boost::graph::distributed::hohberg_vertex_processor< Graph >::fill_edge_map | ( | Vertex | alpha, | 
| const Graph & | g, | ||
| ComponentMap & | component | ||
| ) | 
      
  | 
  protected | 
References BGL_FORALL_OUTEDGES_T, BOOST_ASSERT, boost::graph::source(), and boost::graph::target().
      
  | 
  protected | 
References BGL_FORALL_OUTEDGES_T, BOOST_ASSERT, and boost::graph::target().
      
  | 
  inline | 
| void boost::graph::distributed::hohberg_vertex_processor< Graph >::initialize_leader | ( | Vertex | alpha, | 
| const Graph & | g | ||
| ) | 
References BGL_FORALL_OUTEDGES_T, boost::graph::degree(), boost::graph::distributed::hohberg_detail::msg_path_header, boost::graph::distributed::hohberg_detail::msg_path_vertices, boost::detail::parallel::owner(), boost::process_group(), boost::graph::distributed::send(), boost::graph::target(), and boost::vertex_owner.
| hohberg_vertex_processor< Graph >::edges_size_type boost::graph::distributed::hohberg_vertex_processor< Graph >::num_starting_bicomponents | ( | Vertex | alpha, | 
| const Graph & | g | ||
| ) | 
References BGL_FORALL_OUTEDGES_T, boost::algorithm::find(), boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::is_tree_edge, boost::local(), boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::M, boost::accumulators::extract::max, boost::detail::parallel::owner(), and boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::partition.
| void boost::graph::distributed::hohberg_vertex_processor< Graph >::operator() | ( | Edge | e, | 
| path_t & | path, | ||
| const Graph & | g | ||
| ) | 
Handle a path message on edge e.
The path will be destroyed by this operation.
References boost::spirit::ascii::alpha, BGL_FORALL_OUTEDGES_T, BOOST_ASSERT, boost::graph::distributed::hohberg_detail::branch_point(), boost::graph::degree(), boost::algorithm::find(), boost::get_edge_index(), boost::graph::distributed::hohberg_detail::infimum(), boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::is_tree_edge, boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::M, boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::msg, boost::graph::distributed::hohberg_detail::msg_path_header, boost::graph::distributed::hohberg_detail::msg_path_vertices, boost::detail::parallel::owner(), boost::process_group(), boost::graph::distributed::send(), boost::graph::source(), boost::graph::target(), and boost::vertex_owner.
| void boost::graph::distributed::hohberg_vertex_processor< Graph >::operator() | ( | Edge | e, | 
| Vertex | gamma, | ||
| path_t & | in_same_bicomponent, | ||
| const Graph & | g | ||
| ) | 
Handle a tree message on edge e.
in_same_bicomponent will be destroyed by this operation.
References boost::spirit::ascii::alpha, beta, BOOST_ASSERT, boost::get_edge_index(), boost::multiprecision::backends::i, boost::graph::distributed::hohberg_detail::infimum(), boost::local(), boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::msg, boost::detail::parallel::owner(), boost::graph::source(), and boost::graph::target().
| void boost::graph::distributed::hohberg_vertex_processor< Graph >::operator() | ( | Edge | e, | 
| edges_size_type | name, | ||
| const Graph & | g | ||
| ) | 
References boost::spirit::ascii::alpha, BGL_FORALL_OUTEDGES_T, BOOST_ASSERT, boost::algorithm::find(), boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::is_tree_edge, boost::local(), boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::M, boost::graph::distributed::hohberg_detail::msg_name, boost::iostreams::gzip::flags::name, boost::detail::parallel::owner(), boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::partition, boost::process_group(), boost::graph::distributed::send(), boost::graph::source(), boost::graph::target(), and boost::vertex_owner.
      
  | 
  inlineprotected | 
References BOOST_ASSERT.
| void boost::graph::distributed::hohberg_vertex_processor< Graph >::start_naming_phase | ( | Vertex | alpha, | 
| const Graph & | g, | ||
| edges_size_type | offset | ||
| ) | 
References BGL_FORALL_OUTEDGES_T, BOOST_ASSERT, boost::algorithm::find(), boost::multiprecision::backends::i, boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::is_tree_edge, boost::local(), boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::M, boost::accumulators::extract::max, boost::graph::distributed::hohberg_detail::msg_name, boost::asio::offset, boost::detail::parallel::owner(), boost::graph::distributed::hohberg_vertex_processor< Graph >::per_edge_data::partition, boost::process_group(), boost::graph::distributed::send(), boost::graph::source(), boost::graph::target(), and boost::vertex_owner.
      
  | 
  friend | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected |