Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
graph_communicator.hpp File Reference

This header defines facilities to support MPI communicators with graph topologies, using the graph interface defined by the Boost Graph Library. More...

Include dependency graph for graph_communicator.hpp:
This graph shows which files directly or indirectly include this file:

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

Detailed Description

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.