 bidirectionalS, 
    no_property, property&lt;edge_index_t, std::size_t&gt; &gt; Graph;

  const int num_vertices = 9;
  Graph G(num_vertices);

  int capacity_array[] = { 10, 20, 20, 20, 40, 40, 20, 20, 20, 10 };
  int flow_array[] = { 8, 12, 12, 12, 12, 12, 16, 16, 16, 8 };

  // Add edges to the graph, and assign each edge an ID number.
  add_edge(0, 1, 0, G);
  // ...

  typedef graph_traits&lt;Graph&gt;::edge_descriptor Edge;
  typedef property_map&lt;Graph, edge_index_t&gt;::type EdgeID_Map;
  EdgeID