This header defines facilities to support MPI communicators with graph topologies, using the graph interface defined by the Boost Graph Library. More...
#include <boost/mpi/communicator.hpp>#include <vector>#include <utility>#include <boost/graph/graph_traits.hpp>#include <boost/graph/properties.hpp>#include <boost/property_map/property_map.hpp>#include <boost/iterator/counting_iterator.hpp>#include <boost/graph/iteration_macros.hpp>#include <boost/shared_array.hpp>#include <boost/assert.hpp>

Classes | |
| class | boost::mpi::graph_communicator | 
| An MPI communicator with a graph topology.  More... | |
| class | boost::mpi::detail::comm_out_edge_iterator | 
| INTERNAL ONLY.  More... | |
| class | boost::mpi::detail::comm_adj_iterator | 
| INTERNAL ONLY.  More... | |
| class | boost::mpi::detail::comm_edge_iterator | 
| INTERNAL ONLY.  More... | |
| struct | boost::graph_traits< mpi::graph_communicator > | 
| Traits structure that allows a communicator with graph topology to be view as a graph by the Boost Graph Library.  More... | |
| struct | boost::graph_traits< mpi::graph_communicator >::traversal_category | 
| INTERNAL ONLY.  More... | |
| struct | boost::property_map< mpi::graph_communicator, vertex_index_t > | 
| INTERNAL ONLY.  More... | |
Namespaces | |
| boost | |
| Duration formatting facet for input.  | |
| boost::mpi | |
| boost::mpi::detail | |
Functions | |
| int | boost::mpi::source (const std::pair< int, int > &edge, const graph_communicator &) | 
| Returns the source vertex from an edge in the graph topology of a communicator.  More... | |
| int | boost::mpi::target (const std::pair< int, int > &edge, const graph_communicator &) | 
| Returns the target vertex from an edge in the graph topology of a communicator.  More... | |
| std::pair < detail::comm_out_edge_iterator, detail::comm_out_edge_iterator >  | boost::mpi::out_edges (int vertex, const graph_communicator &comm) | 
| Returns an iterator range containing all of the edges outgoing from the given vertex in a graph topology of a communicator.  More... | |
| int | boost::mpi::out_degree (int vertex, const graph_communicator &comm) | 
| Returns the out-degree of a vertex in the graph topology of a communicator.  More... | |
| std::pair < detail::comm_adj_iterator, detail::comm_adj_iterator >  | boost::mpi::adjacent_vertices (int vertex, const graph_communicator &comm) | 
| Returns an iterator range containing all of the neighbors of the given vertex in the communicator's graph topology.  More... | |
| std::pair< counting_iterator < int >, counting_iterator < int > >  | boost::mpi::vertices (const graph_communicator &comm) | 
| Returns an iterator range that contains all of the vertices with the communicator's graph topology, i.e., all of the process ranks in the communicator.  More... | |
| int | boost::mpi::num_vertices (const graph_communicator &comm) | 
| Returns the number of vertices within the graph topology of the communicator, i.e., the number of processes in the communicator.  More... | |
| std::pair < detail::comm_edge_iterator, detail::comm_edge_iterator >  | boost::mpi::edges (const graph_communicator &comm) | 
| Returns an iterator range that contains all of the edges with the communicator's graph topology.  More... | |
| int | boost::mpi::num_edges (const graph_communicator &comm) | 
| Returns the number of edges in the communicator's graph topology.  More... | |
| identity_property_map | boost::mpi::get (vertex_index_t, const graph_communicator &) | 
| Returns a property map that maps from vertices in a communicator's graph topology to their index values.  More... | |
| int | boost::mpi::get (vertex_index_t, const graph_communicator &, int vertex) | 
| Returns the index of a vertex in the communicator's graph topology.  More... | |
This header defines facilities to support MPI communicators with graph topologies, using the graph interface defined by the Boost Graph Library.
One can construct a communicator whose topology is described by any graph meeting the requirements of the Boost Graph Library's graph concepts. Likewise, any communicator that has a graph topology can be viewed as a graph by the Boost Graph Library, permitting one to use the BGL's graph algorithms on the process topology.