Boost/BGL/Directed/IterateEdges

From ProgrammingExamples
< Boost‎ | BGL
Jump to: navigation, search

IterateEdges.cpp

#include <iostream>
#include <boost/graph/adjacency_list.hpp>
 
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS> Graph;
 
int main(int,char*[])
{
  // Create a graph object
  Graph g;
 
  boost::graph_traits<Graph>::vertex_descriptor v0 = add_vertex(g);
  Graph::vertex_descriptor v1 = add_vertex(g);
 
  std::pair<boost::graph_traits<Graph>::edge_descriptor, bool> e0 = add_edge(v0, v1, g);
 
  std::pair<boost::graph_traits<Graph>::edge_iterator, boost::graph_traits<Graph>::edge_iterator> edgeIteratorRange = boost::edges(g);
  for(boost::graph_traits<Graph>::edge_iterator edgeIterator = edgeIteratorRange.first; edgeIterator != edgeIteratorRange.second; ++edgeIterator)
   {
     std::cout << *edgeIterator << std::endl;
   }
  return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.6)
 
Project(IterateEdges)
 
set(Boost_USE_MULTITHREADED ON)
FIND_PACKAGE(Boost 1.38 COMPONENTS required)
 
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})
 
ADD_EXECUTABLE(IterateEdges IterateEdges.cpp)