| Home | Libraries | People | FAQ | More

## Struct graph_traits<mpi::graph_communicator>

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.

## Synopsis

    // In header: <boost/mpi/graph_communicator.hpp>

    struct graph_traits<mpi::graph_communicator> {
      // types
      typedef int                        vertex_descriptor;
      typedef std::pair< int, int >      edge_descriptor;
      typedef directed_tag               directed_category;
      typedef disallow_parallel_edge_tag edge_parallel_category;
      typedef unspecified                out_edge_iterator;
      typedef int                        degree_size_type;
      typedef unspecified                adjacency_iterator;
      typedef counting_iterator< int >   vertex_iterator;
      typedef int                        vertices_size_type;
      typedef unspecified                edge_iterator;
      typedef int                        edges_size_type;

      // public static functions
      static vertex_descriptor null_vertex();
    };

## Description

The specialization of `graph_traits` for an MPI communicator allows a communicator with graph topology to be viewed as a graph. An MPI communicator with graph topology meets the requirements of the Graph, Incidence Graph, Adjacency Graph, Vertex List Graph, and Edge List Graph concepts from the Boost Graph Library.

### `graph_traits` public static functions

1.     static vertex_descriptor null_vertex();

   Returns a vertex descriptor that can never refer to any valid vertex.