14 Added in Boost 1.29.0
Categories: Containers , Algorithms , Iterators

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


K. Noel Belcourt

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.