This documentation is being rewritten. If something looks off, please cross-check with the Boost 1.91.0 Boost.Graph docs and open an issue.

About

Design rationale, mathematical background, the named-parameter protocol used by the older algorithms, the full bibliography, and the non-technical side of the project (history, credits, publications, users).

Page What it covers

Design Rationale

Why the library looks the way it does: generic programming, separation of graph structure from algorithm, property maps, visitors.

Graph Theory Review

A short refresher on vertices, edges, paths, cycles, trees, connectivity, planarity, and the algorithm families that operate on them. Read this first if graph theory is new to you.

Named Parameters

How the bgl_named_params<…​> mechanism works. Relevant to any algorithm whose modern overloads accept a params block (weight_map(…​), predecessor_map(…​), …​).

Bibliography

Every academic reference cited from an algorithm page resolves here.

History

How the library evolved from its pre-1.0 roots at Indiana University through Boost releases.

Acknowledgements

Credits for the core authors, contributors, and funders.

Publications

Academic papers about BGL itself and its design.

BGL Users

Real-world projects and research groups that use Boost.Graph.