]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/graph/example/vertex_basics.cpp
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / boost / libs / graph / example / vertex_basics.cpp
index 8d2053fbc9000880acc8445de3e94e80f3749da2..107fd5ebc86171ea1506a27ede0d825fdb80e424 100644 (file)
@@ -15,7 +15,6 @@
 using namespace std;
 using namespace boost;
 
-
 /*
   Vertex Basics
 
@@ -23,137 +22,133 @@ using namespace boost;
 
   Sample output:
 
-  vertices(g) = 0 1 2 3 4 
+  vertices(g) = 0 1 2 3 4
   vertex id: 0
-  out-edges: (0,1) (0,2) (0,3) (0,4) 
-  in-edges: (2,0) (3,0) (4,0) 
-  adjacent vertices: 1 2 3 4 
+  out-edges: (0,1) (0,2) (0,3) (0,4)
+  in-edges: (2,0) (3,0) (4,0)
+  adjacent vertices: 1 2 3 4
 
   vertex id: 1
-  out-edges: 
-  in-edges: (0,1) (3,1) (4,1) 
-  adjacent vertices: 
+  out-edges:
+  in-edges: (0,1) (3,1) (4,1)
+  adjacent vertices:
 
   vertex id: 2
-  out-edges: (2,0) (2,4) 
-  in-edges: (0,2) 
-  adjacent vertices: 0 4 
+  out-edges: (2,0) (2,4)
+  in-edges: (0,2)
+  adjacent vertices: 0 4
 
   vertex id: 3
-  out-edges: (3,0) (3,1) (3,4) 
-  in-edges: (0,3) 
-  adjacent vertices: 0 1 4 
+  out-edges: (3,0) (3,1) (3,4)
+  in-edges: (0,3)
+  adjacent vertices: 0 1 4
 
   vertex id: 4
-  out-edges: (4,0) (4,1) 
-  in-edges: (0,4) (2,4) (3,4) 
-  adjacent vertices: 0 1 
+  out-edges: (4,0) (4,1)
+  in-edges: (0,4) (2,4) (3,4)
+  adjacent vertices: 0 1
 
 
  */
 
-
 /* some helper functors for output */
 
-template <class Graph>
-struct print_edge {
-  print_edge(Graph& g) : G(g) { }
+template < class Graph > struct print_edge
+{
+    print_edge(Graph& g) : G(g) {}
 
-  typedef typename boost::graph_traits<Graph>::edge_descriptor Edge;
-  typedef typename boost::graph_traits<Graph>::vertex_descriptor Vertex;
-  void operator()(Edge e) const
-  {
-    typename boost::property_map<Graph, vertex_index_t>::type 
-      id = get(vertex_index, G);
+    typedef typename boost::graph_traits< Graph >::edge_descriptor Edge;
+    typedef typename boost::graph_traits< Graph >::vertex_descriptor Vertex;
+    void operator()(Edge e) const
+    {
+        typename boost::property_map< Graph, vertex_index_t >::type id
+            = get(vertex_index, G);
 
-    Vertex src = source(e, G);
-    Vertex targ = target(e, G);
+        Vertex src = source(e, G);
+        Vertex targ = target(e, G);
 
-    cout << "(" << id[src] << "," << id[targ] << ") ";
-  }
+        cout << "(" << id[src] << "," << id[targ] << ") ";
+    }
 
-  Graph& G;
+    Graph& G;
 };
 
-template <class Graph>
-struct print_index {
-  print_index(Graph& g) : G(g){ }
+template < class Graph > struct print_index
+{
+    print_index(Graph& g) : G(g) {}
 
-  typedef typename boost::graph_traits<Graph>::vertex_descriptor Vertex;
-  void operator()(Vertex c) const
-  {
-    typename boost::property_map<Graph,vertex_index_t>::type 
-      id = get(vertex_index, G);
-    cout << id[c] << " ";
-  }
+    typedef typename boost::graph_traits< Graph >::vertex_descriptor Vertex;
+    void operator()(Vertex c) const
+    {
+        typename boost::property_map< Graph, vertex_index_t >::type id
+            = get(vertex_index, G);
+        cout << id[c] << " ";
+    }
 
-  Graph& G;
+    Graph& G;
 };
 
+template < class Graph > struct exercise_vertex
+{
+    typedef typename boost::graph_traits< Graph >::vertex_descriptor Vertex;
 
-template <class Graph>
-struct exercise_vertex {
-  typedef typename boost::graph_traits<Graph>::vertex_descriptor Vertex;
+    exercise_vertex(Graph& _g) : g(_g) {}
 
-  exercise_vertex(Graph& _g) : g(_g) { }
+    void operator()(Vertex v) const
+    {
+        typename boost::property_map< Graph, vertex_index_t >::type id
+            = get(vertex_index, g);
 
-  void operator()(Vertex v) const
-  {
-    typename boost::property_map<Graph, vertex_index_t>::type 
-      id = get(vertex_index, g);
+        cout << "vertex id: " << id[v] << endl;
 
-    cout << "vertex id: " << id[v] << endl;
-    
-    cout << "out-edges: ";
-    for_each(out_edges(v, g).first, out_edges(v,g).second, 
-             print_edge<Graph>(g));
+        cout << "out-edges: ";
+        for_each(out_edges(v, g).first, out_edges(v, g).second,
+            print_edge< Graph >(g));
 
-    cout << endl;
+        cout << endl;
 
-    cout << "in-edges: ";
-    for_each(in_edges(v, g).first, in_edges(v,g).second, 
-             print_edge<Graph>(g));
+        cout << "in-edges: ";
+        for_each(in_edges(v, g).first, in_edges(v, g).second,
+            print_edge< Graph >(g));
 
-    cout << endl;
-    
-    cout << "adjacent vertices: ";
-    for_each(adjacent_vertices(v,g).first, 
-             adjacent_vertices(v,g).second, print_index<Graph>(g));
-    cout << endl << endl;
-  }
+        cout << endl;
 
-  Graph& g;
-};
+        cout << "adjacent vertices: ";
+        for_each(adjacent_vertices(v, g).first, adjacent_vertices(v, g).second,
+            print_index< Graph >(g));
+        cout << endl << endl;
+    }
 
+    Graph& g;
+};
 
-int
-main()
+int main()
 {
-  typedef adjacency_list<vecS,vecS,bidirectionalS> MyGraphType;
+    typedef adjacency_list< vecS, vecS, bidirectionalS > MyGraphType;
 
-  typedef pair<int,int> Pair;
-  Pair edge_array[11] = { Pair(0,1), Pair(0,2), Pair(0,3), Pair(0,4), 
-                          Pair(2,0), Pair(3,0), Pair(2,4), Pair(3,1), 
-                          Pair(3,4), Pair(4,0), Pair(4,1) };
+    typedef pair< int, int > Pair;
+    Pair edge_array[11] = { Pair(0, 1), Pair(0, 2), Pair(0, 3), Pair(0, 4),
+        Pair(2, 0), Pair(3, 0), Pair(2, 4), Pair(3, 1), Pair(3, 4), Pair(4, 0),
+        Pair(4, 1) };
 
-  /* Construct a graph using the edge_array*/
-  MyGraphType g(5);
-  for (int i=0; i<11; ++i)
-    add_edge(edge_array[i].first, edge_array[i].second, g);
+    /* Construct a graph using the edge_array*/
+    MyGraphType g(5);
+    for (int i = 0; i < 11; ++i)
+        add_edge(edge_array[i].first, edge_array[i].second, g);
 
-  boost::property_map<MyGraphType, vertex_index_t>::type 
-    id = get(vertex_index, g);
+    boost::property_map< MyGraphType, vertex_index_t >::type id
+        = get(vertex_index, g);
 
-  cout << "vertices(g) = ";
-  boost::graph_traits<MyGraphType>::vertex_iterator vi;
-  for (vi = vertices(g).first; vi != vertices(g).second; ++vi)
-    std::cout << id[*vi] <<  " ";
-  std::cout << std::endl;
+    cout << "vertices(g) = ";
+    boost::graph_traits< MyGraphType >::vertex_iterator vi;
+    for (vi = vertices(g).first; vi != vertices(g).second; ++vi)
+        std::cout << id[*vi] << " ";
+    std::cout << std::endl;
 
-  /* Use the STL for_each algorithm to "exercise" all
-     of the vertices in the graph */
-  for_each(vertices(g).first, vertices(g).second,
-           exercise_vertex<MyGraphType>(g));
+    /* Use the STL for_each algorithm to "exercise" all
+       of the vertices in the graph */
+    for_each(vertices(g).first, vertices(g).second,
+        exercise_vertex< MyGraphType >(g));
 
-  return 0;
+    return 0;
 }