#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 |