06f8e40a12
[SVN r63554]
54 lines
1.3 KiB
C++
54 lines
1.3 KiB
C++
//=======================================================================
|
|
// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
|
|
// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
|
|
//
|
|
// 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)
|
|
//=======================================================================
|
|
#include <boost/config.hpp>
|
|
#include <iostream>
|
|
#include <vector>
|
|
#include <utility>
|
|
|
|
#include <boost/graph/adjacency_list.hpp>
|
|
|
|
/*
|
|
Sample Output
|
|
|
|
0 <--
|
|
1 <-- 0
|
|
2 <-- 1
|
|
3 <-- 1
|
|
4 <-- 2 3
|
|
|
|
*/
|
|
|
|
int main(int , char* [])
|
|
{
|
|
using namespace boost;
|
|
using namespace std;
|
|
using namespace boost;
|
|
|
|
typedef adjacency_list<listS,vecS,bidirectionalS> Graph;
|
|
const int num_vertices = 5;
|
|
Graph g(num_vertices);
|
|
|
|
add_edge(0, 1, g);
|
|
add_edge(1, 2, g);
|
|
add_edge(1, 3, g);
|
|
add_edge(2, 4, g);
|
|
add_edge(3, 4, g);
|
|
|
|
boost::graph_traits<Graph>::vertex_iterator i, end;
|
|
boost::graph_traits<Graph>::in_edge_iterator ei, edge_end;
|
|
|
|
for(boost::tie(i,end) = vertices(g); i != end; ++i) {
|
|
cout << *i << " <-- ";
|
|
for (boost::tie(ei,edge_end) = in_edges(*i, g); ei != edge_end; ++ei)
|
|
cout << source(*ei, g) << " ";
|
|
cout << endl;
|
|
}
|
|
return 0;
|
|
}
|