Chris@16
|
1 //
|
Chris@16
|
2 //=======================================================================
|
Chris@16
|
3 // Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
|
Chris@16
|
4 // Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
|
Chris@16
|
5 //
|
Chris@16
|
6 // Distributed under the Boost Software License, Version 1.0. (See
|
Chris@16
|
7 // accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
8 // http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
9 //=======================================================================
|
Chris@16
|
10 //
|
Chris@16
|
11 #ifndef BOOST_GRAPH_TRANSPOSE_HPP
|
Chris@16
|
12 #define BOOST_GRAPH_TRANSPOSE_HPP
|
Chris@16
|
13
|
Chris@16
|
14 #include <boost/config.hpp>
|
Chris@16
|
15 #include <boost/graph/graph_traits.hpp>
|
Chris@16
|
16 #include <boost/graph/reverse_graph.hpp>
|
Chris@16
|
17 #include <boost/graph/copy.hpp>
|
Chris@16
|
18
|
Chris@16
|
19
|
Chris@16
|
20 namespace boost {
|
Chris@16
|
21
|
Chris@16
|
22 template <class VertexListGraph, class MutableGraph>
|
Chris@16
|
23 void transpose_graph(const VertexListGraph& G, MutableGraph& G_T)
|
Chris@16
|
24 {
|
Chris@16
|
25 reverse_graph<VertexListGraph> R(G);
|
Chris@16
|
26 copy_graph(R, G_T);
|
Chris@16
|
27 }
|
Chris@16
|
28
|
Chris@16
|
29 template <class VertexListGraph, class MutableGraph,
|
Chris@16
|
30 class P, class T, class R>
|
Chris@16
|
31 void transpose_graph(const VertexListGraph& G, MutableGraph& G_T,
|
Chris@16
|
32 const bgl_named_params<P, T, R>& params)
|
Chris@16
|
33 {
|
Chris@16
|
34 reverse_graph<VertexListGraph> Rev(G);
|
Chris@16
|
35 copy_graph(Rev, G_T, params);
|
Chris@16
|
36 }
|
Chris@16
|
37
|
Chris@16
|
38 } // namespace boost
|
Chris@16
|
39
|
Chris@16
|
40 #endif // BOOST_GRAPH_TRANSPOSE_HPP
|