Boost/BGL/NumberOfNeighbors
From ProgrammingExamples
NumberOfNeighbors.cpp
#include <iostream> #include <boost/graph/graph_traits.hpp> #include <boost/graph/adjacency_list.hpp> typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS> Graph; int main(int,char*[]) { // Create a graph object Graph g(3); boost::add_edge(0,1,g); boost::add_edge(1,2,g); int numberOfInEdges = boost::in_degree(1,g); std::cout << "numberOfInEdges: " << numberOfInEdges << std::endl; int numberOfOutEdges = boost::out_degree(1,g); std::cout << "numberOfOutEdges: " << numberOfOutEdges << std::endl; int numberOfEdges = boost::degree(1,g); std::cout << "numberOfEdges: " << numberOfEdges << std::endl; return 0; }
CMakeLists.txt
cmake_minimum_required(VERSION 2.6) Project(NumberOfNeighbors) 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(NumberOfNeighbors NumberOfNeighbors.cpp)