CPP Version 03 or Later Added in Boost 1.29.0

The BGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL).


Boost Graph Library Build StatusBuild Status


A generic interface for traversing graphs, using C++ templates.

The full documentation is available on

Support, bugs and feature requests

Bugs and feature requests can be reported through the Github issue page.

See also:

You can submit your changes through a pull request. One of the maintainers will take a look (remember that it can take some time).

There is no mailing-list specific to Boost Graph, although you can use the general-purpose Boost mailing-list using the tag [graph].


Master Develop
Github Actions Build Status Build Status
Drone Build Status Build Status

Clone the whole boost project, which includes the individual Boost projects as submodules (see boost+git doc):

git clone
cd boost
git submodule update --init

The Boost Graph Library is located in libs/graph/.

Boost Graph Library is mostly made of headers but also contains some compiled components. Here are the build commands:

./            <- compile b2
./b2 headers              <- just installs headers
./b2                      <- build compiled components

Note: The Boost Graph Library cannot currently be built outside of Boost itself.

Running tests

First, make sure you are in libs/graph/test. You can either run all the 300+ tests listed in Jamfile.v2 or run a single test:

../../../b2                        <- run all tests
../../../b2 cycle_canceling_test   <- single test

You can also check the regression tests reports.