1 //=======================================================================
2 // Copyright 2001 Jeremy G. Siek, Andrew Lumsdaine, Lie-Quan Lee,
4 // Distributed under the Boost Software License, Version 1.0. (See
5 // accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //=======================================================================
8 #include <boost/config.hpp>
10 #include <boost/graph/adjacency_list.hpp>
12 using namespace boost
;
14 template < typename Graph
> void
15 read_graph_file(std::istream
& in
, Graph
& g
)
17 typedef typename graph_traits
< Graph
>::vertices_size_type size_type
;
19 in
>> n_vertices
; // read in number of vertices
20 for (size_type i
= 0; i
< n_vertices
; ++i
) // Add n vertices to the graph
23 while (in
>> u
) // Read in pairs of integers as edges
34 typedef adjacency_list
< listS
, // Store out-edges of each vertex in a std::list
35 vecS
, // Store vertex set in a std::vector
36 directedS
// The graph is directed
39 graph_type g
; // use default constructor to create empty graph
40 std::ifstream
file_in("makefile-dependencies.dat");
41 read_graph_file(file_in
, g
);
43 assert(num_vertices(g
) == 15);
44 assert(num_edges(g
) == 19);