summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/graph/example/labeled_graph.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/graph/example/labeled_graph.cpp')
-rw-r--r--src/boost/libs/graph/example/labeled_graph.cpp74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/boost/libs/graph/example/labeled_graph.cpp b/src/boost/libs/graph/example/labeled_graph.cpp
new file mode 100644
index 00000000..b38199d9
--- /dev/null
+++ b/src/boost/libs/graph/example/labeled_graph.cpp
@@ -0,0 +1,74 @@
+// (C) Copyright 2009 Andrew Sutton
+//
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0 (See accompanying file
+// LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+
+/*
+ IMPORTANT!!!
+ ~~~~~~~~~~~~
+
+ This example does not compile, see https://github.com/boostorg/graph/issues/147
+
+*/
+
+#include <iostream>
+#include <string>
+
+#include <boost/graph/directed_graph.hpp>
+#include <boost/graph/labeled_graph.hpp>
+
+using namespace boost;
+using namespace std;
+
+int main() {
+
+ using namespace boost::graph_detail;
+
+ typedef directed_graph<> Digraph;
+
+ {
+ typedef labeled_graph<Digraph, unsigned> Graph;
+ Graph g;
+ add_vertex(1, g);
+ add_vertex(2, g);
+
+ Graph h(12);
+ }
+
+ {
+ typedef labeled_graph<Digraph, string> Graph;
+ Graph g;
+ add_vertex("foo", g);
+ add_vertex("bar", g);
+ }
+
+ {
+ typedef labeled_graph<Digraph, string, mapS> Graph;
+ Graph g;
+ add_vertex("foo", g);
+ add_vertex("bar", g);
+ add_vertex("foo", g);
+ }
+
+ {
+ typedef labeled_graph<Digraph*, int> TempGraph;
+ Digraph g;
+ TempGraph h(&g);
+ add_vertex(12, h);
+ }
+
+
+ {
+ // This is actually a fairly complicated specialization.
+ typedef adjacency_list<vecS, vecS, bidirectionalS> G;
+ typedef labeled_graph<G, size_t> Graph;
+ Graph g;
+ add_vertex(0, g);
+ add_vertex(1, g);
+ g.add_edge(0, 1);
+ }
+
+
+ return 0;
+}