July 8, 2023
Report

NWGraph: A library of generic graph algorithms and data structures in C++20

Abstract

The C++ Standard Library is a valuable collection of generic algorithms and data structures that improves the usability and reliability of C++ software. Graph algorithms and data structures are notably absent from the standard library, and previous attempts to fill this gap have not gained widespread adoption. With the new addition of ranges and concepts in C++20, the language has the mechanisms to cleanly support generic graph algorithms as operations on a range of ranges. This report presents NWGraph, a generic C++ graph library for expressing graph algorithms in a modern, composable, and extensible, aka generic, fashion.

Published: July 8, 2023

Citation

Lumsdaine A., J.S. Firoz, J.B. Manzano Franco, A. Marquez, J.D. Suetterlein, M.J. Zalewski, and T. Liu. 2021. NWGraph: A library of generic graph algorithms and data structures in C++20 Richland, WA: Pacific Northwest National Laboratory.