C++ Logo

sg19

Advanced search

Re: [isocpp-sg19] Standardizing Graph concepts

From: Oliver Rosten <oliver.rosten_at_[hidden]>
Date: Fri, 19 Jun 2026 07:47:33 +0100
>
> Graphs are not niche. They're used in a wide variety of disciplines and
> industries, and solve a wide diversity of problems.


I completely agree with this. In the renowned Algorithm Design Manual,
Steven Skiena describes graphs as a unifying concept in computer science.
In my experience, the more aware you are of graphs, the more you see them
in code (often constructed implicitly). I would personally ultimately like
to see both graph algorithms and graph containers become part of the
standard.

A concern has been raised that the library isn't being used by anyone,
> which is true.


This is a huge concern for me. I think it may well be a major mistake to
standardize a graph library if it does not have significant usage. Because
graphs are so ubiquitous, and applied in so many different
domains, designing a standardized facility that will stand the test of time
surely needs years of refinement driven by application. If SG19 converges
on a design, I would love to see it mature in the Beman project (or
equivalent).

O.

On Fri, 19 Jun 2026 at 00:08, Phil Ratzloff via SG19 <sg19_at_[hidden]>
wrote:

> Graphs are not niche. They're used in a wide variety of disciplines and
> industries, and solve a wide diversity of problems.
>
> Not everyone uses them, but they fill an important role the computing
> environment, including machine learning.
>
>
> ------------------------------
> *From:* SG19 <sg19-bounces_at_[hidden]> on behalf of Phil Ratzloff
> via SG19 <sg19_at_[hidden]>
> *Sent:* Thursday, June 18, 2026 5:15 PM
> *To:* Michael Wong <fraggamuffin_at_[hidden]>; sg19_at_[hidden] <
> sg19_at_[hidden]>
> *Cc:* Phil Ratzloff <Phil.Ratzloff_at_[hidden]>
> *Subject:* Re: [isocpp-sg19] Standardizing Graph concepts
>
> *EXTERNAL*
> I'm still working on refinements to the papers and the reference library.
> My goal is to have them available for the next SG19 meeting. I've extended
> it to support vertices and edges in mapped containers. I'm also tightening
> up the overall interface and I'll also be working on reducing the overall
> size of the API.
>
> I was asked years ago to split the paper up because people tended to not
> read large papers. The existing papers are just sections of the original.
>
> CLRS is the clearest and best reference, according to Andrew Lumsdaine.
> He's been involved in the academic & research side of graphs more than I.
>
> The library didn't exist before the papers. It is the reference
> implementation written in parallel with the papers.
>
> A concern has been raised that the library isn't being used by anyone,
> which is true. I'm in the process to see if I can change that.
>
> The design is influenced by boost graph library (BGL), which was written
> circa 2001 using C++98. This brings a modern interface with additional
> features and a similar design philosophy.
>
> There's also an argument that not all users of C++ can use open-source
> libraries in github. Including functionality in the standand means they
> don't have to write it themselves. I don't know how much weight that
> argument carries for any library proposed for the standard.
>
> Yes, Michael Wong.
>
>
> ------------------------------
> *From:* SG19 <sg19-bounces_at_[hidden]> on behalf of Vinnie Falco
> via SG19 <sg19_at_[hidden]>
> *Sent:* Thursday, June 18, 2026 3:08 PM
> *To:* Michael Wong <fraggamuffin_at_[hidden]>
> *Cc:* Vinnie Falco <vinnie.falco_at_[hidden]>; sg19_at_[hidden] <
> sg19_at_[hidden]>
> *Subject:* Re: [isocpp-sg19] Standardizing Graph concepts
>
> *EXTERNAL*
> On Thu, Jun 18, 2026 at 11:55 AM Phil Ratzloff <Phil.Ratzloff_at_[hidden]>
> wrote:
>
> Michael has been the one to promote a graph library as part of the
> standard as a part of the functionality used in machine learning, so I'll
> let him provide the details.
>
>
> I am looking at P3127R1 which came out last year. This looks like a very
> well written set of papers. I note that the papers are split up into areas
> of concern: Overview, Background, Algorithms, and so forth. This is my
> preference yet there are conflicting opinions. One prominent officer said
> they prefer everything to be folded into one paper for ease of reading. I
> find this unpersuasive.
>
> I learned something from P3127R1. "CLRS" refers to a specific tome which
> establishes a common vocabulary and set of concepts. It appears to be the
> API Schelling point which C++ graph libraries naturally converge to. That
> is, that graphs and their algorithms are an area of study by a relatively
> smaller group of practitioners who have already naturally converged on
> vocabulary and representation (vertex list I believe).
>
> What was the motivation for writing these papers if the library already
> exists?
>
> Let me give you an example. std::filesystem could have stayed in the
> ecosystem (i.e. Boost, or GitHub). Yet standardization brings measurable
> benefits. It provides a common API and a prescribed set of implementation
> behaviors so that it can work on every platform. This is necessary because
> filesystem is a portable API which wraps non-portable or operating system
> level operations.
>
> Yet graphs and their algorithms are already portable as they can be
> expressed in pure C++ with no external libraries or operating system APIs.
>
> I presume Michael is Michael Wong?
>
> Thanks
>
> --
> SG19 mailing list
> SG19_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg19
>

Received on 2026-06-19 06:47:50