They're used to guarantee that the functions needed by an algorithm are correctly defined. For instance, index_adjency_list requires vertices(g), out_edges(g,u) and others be defined, the underlying vertices(g) range is a random_access_range, the underlying
out_edges(g,u) is a forward_range, etc.
From: SG19 <sg19-bounces@lists.isocpp.org> on behalf of Vinnie Falco via SG19 <sg19@lists.isocpp.org>
Sent: Wednesday, June 17, 2026 5:11 PM
To: sg19@lists.isocpp.org <sg19@lists.isocpp.org>
Cc: Vinnie Falco <vinnie.falco@gmail.com>
Subject: [isocpp-sg19] Standardizing Graph concepts
EXTERNAL
Why do Graph concepts need to be in the standard library? Is there evidence of a coordination problem that is not currently being solved?
Thanks