summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/graph/example/edge_connectivity.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/libs/graph/example/edge_connectivity.cpp
parentInitial commit. (diff)
downloadceph-upstream.tar.xz
ceph-upstream.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/libs/graph/example/edge_connectivity.cpp')
-rw-r--r--src/boost/libs/graph/example/edge_connectivity.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/boost/libs/graph/example/edge_connectivity.cpp b/src/boost/libs/graph/example/edge_connectivity.cpp
new file mode 100644
index 000000000..2e05a8b4c
--- /dev/null
+++ b/src/boost/libs/graph/example/edge_connectivity.cpp
@@ -0,0 +1,63 @@
+//=======================================================================
+// Copyright 2000 University of Notre Dame.
+// Authors: Jeremy G. Siek, Andrew Lumsdaine, Lie-Quan Lee
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//=======================================================================
+
+/*
+ IMPORTANT!!!
+ ~~~~~~~~~~~~
+ This example uses interfaces that have been deprecated and removed from
+ Boost.Grpah. Someone needs to update it, as it does NOT compile.
+*/
+
+#include <boost/config.hpp>
+#include <set>
+#include <iostream>
+#include <iterator>
+#include <algorithm>
+#include <boost/graph/adjacency_list.hpp>
+#include <boost/graph/edge_connectivity.hpp>
+
+using namespace boost;
+
+int main()
+{
+ const int N = 8;
+ typedef adjacency_list< vecS, vecS, undirectedS > UndirectedGraph;
+ UndirectedGraph g(N);
+
+ add_edge(0, 1, g);
+ add_edge(0, 2, g);
+ add_edge(0, 3, g);
+ add_edge(1, 2, g);
+ add_edge(1, 3, g);
+ add_edge(2, 3, g);
+ add_edge(3, 4, g);
+ add_edge(3, 7, g);
+ add_edge(4, 5, g);
+ add_edge(4, 6, g);
+ add_edge(4, 7, g);
+ add_edge(5, 6, g);
+ add_edge(5, 7, g);
+ add_edge(6, 7, g);
+
+ typedef graph_traits< UndirectedGraph >::edge_descriptor edge_descriptor;
+ typedef graph_traits< UndirectedGraph >::degree_size_type degree_size_type;
+ std::vector< edge_descriptor > disconnecting_set;
+
+ degree_size_type c
+ = edge_connectivity(g, std::back_inserter(disconnecting_set));
+
+ std::cout << "The edge connectivity is " << c << "." << std::endl;
+ std::cout << "The disconnecting set is {";
+
+ std::copy(disconnecting_set.begin(), disconnecting_set.end(),
+ std::ostream_iterator< edge_descriptor >(std::cout, " "));
+ std::cout << "}." << std::endl;
+
+ return 0;
+}