Topic: Graph Library Proposal?


Author: lennard.berger@student.uni-tuebingen.de
Date: Thu, 13 Dec 2018 00:26:20 -0800 (PST)
Raw View
------=_Part_224_479571694.1544689581060
Content-Type: multipart/alternative;
 boundary="----=_Part_225_402198186.1544689581060"

------=_Part_225_402198186.1544689581060
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello, I would as well be interested in bringing this to life. If you=20
consider writing a proposal please contact me.
In my opinion such a proposal should include:

- three types of graphs (undirected, directed, multi)
- two modes of labels (nodes should be able to hold values as their labels=
=20
or pointers)
- at least one network type (simple)
- at least one execution algorithm (e.g coloring)
- means to convert with other standard library structures (e.g to_string)

I agree that using Boost::Graph is nothing near a proposal state, and I=20
would rather recommend having a look=20
at http://snap.stanford.edu/snap/index.html
Luckily enough the excellent executors feature in C++20 will make this a=20
LOT easier (Coloring or Coffman-Graham will just be a std::algorithm on top=
=20
of std::executors and a network).

Am Samstag, 22. September 2012 21:25:03 UTC+2 schrieb Klaim - Jo=C3=ABl Lam=
otte:
>
> Hi,
>
> I was wondering if any graph library (maybe boost.graph) have been=20
> proposed for addition to the standard library?
> If yes, is it's development or papers visible somewhere?
>
> I'm just being curious here but in the same time I find graph and=20
> associated algorithms to be very powerful to solve some problems
> I'm working on.
>
> Joel Lamotte
>

--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/6bc05001-fbc7-47e8-8e51-410b78dabc1c%40isocpp.or=
g.

------=_Part_225_402198186.1544689581060
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello, I would as well be interested in bringing this to l=
ife. If you consider writing a proposal please contact me.<div>In my opinio=
n such a proposal should include:</div><div><br></div><div><div class=3D"" =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helve=
tica; font-size: 12px; text-size-adjust: auto;">- three types of graphs (un=
directed, directed, multi)</div><div class=3D"" style=3D"caret-color: rgb(0=
, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; text=
-size-adjust: auto;">- two modes of labels (nodes should be able to hold va=
lues as their labels or pointers)</div><div class=3D"" style=3D"caret-color=
: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12p=
x; text-size-adjust: auto;">- at least one network type (simple)</div><div =
class=3D"" style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-fa=
mily: Helvetica; font-size: 12px; text-size-adjust: auto;">- at least one e=
xecution algorithm (e.g coloring)</div><div class=3D"" style=3D"caret-color=
: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12p=
x; text-size-adjust: auto;">- means to convert with other standard library =
structures (e.g to_string)</div><div class=3D"" style=3D"caret-color: rgb(0=
, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; text=
-size-adjust: auto;"><br></div><div class=3D"" style=3D"caret-color: rgb(0,=
 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; text-=
size-adjust: auto;">I agree that using Boost::Graph is nothing near a propo=
sal state, and I would rather recommend having a look at=C2=A0http://snap.s=
tanford.edu/snap/index.html</div><div class=3D"" style=3D"caret-color: rgb(=
0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; tex=
t-size-adjust: auto;">Luckily enough the excellent executors feature in C++=
20 will make this a LOT easier (Coloring or Coffman-Graham will just be a s=
td::algorithm on top of std::executors and a network).</div><br>Am Samstag,=
 22. September 2012 21:25:03 UTC+2 schrieb Klaim - Jo=C3=ABl Lamotte:<block=
quote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-le=
ft: 1px #ccc solid;padding-left: 1ex;">Hi,<div><br></div><div>I was wonderi=
ng if any graph library (maybe boost.graph) have been proposed for addition=
 to the standard library?</div><div>If yes, is it&#39;s development or pape=
rs visible somewhere?</div><div><br>
</div><div>I&#39;m just being curious here but in the same time I find grap=
h and associated algorithms to be very powerful to solve some problems</div=
><div>I&#39;m working on.</div><div><br></div><div>Joel Lamotte</div>
</blockquote></div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/6bc05001-fbc7-47e8-8e51-410b78dabc1c%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/6bc05001-fbc7-47e8-8e51-410b78dabc1c=
%40isocpp.org</a>.<br />

------=_Part_225_402198186.1544689581060--

------=_Part_224_479571694.1544689581060--

.


Author: =?UTF-8?B?R2HFoXBlciBBxb5tYW4=?= <gasper.azman@gmail.com>
Date: Thu, 13 Dec 2018 09:03:56 +0000
Raw View
--000000000000da7bca057ce3987a
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

While I'm very interested in a graph library proposal, I think that *having
an implementation* is triply important in this case. Modernizing
boost::graph is a great start, because it has most of the concepts
correctly identified, with the problems stemming mostly that the API design
was hamstrung by the missing things that we'll have in C++20.

Having both adjacency list and adjacency matrix representations will matter=
..

So, the way I'd approach this is by going the ranges route and having an
actual range-v3 - analogous implementation before going to the
specification stage. Papers are extremely difficult to vet without
implementation and usage experience.

G

On Thu, Dec 13, 2018 at 8:26 AM <lennard.berger@student.uni-tuebingen.de>
wrote:

> Hello, I would as well be interested in bringing this to life. If you
> consider writing a proposal please contact me.
> In my opinion such a proposal should include:
>
> - three types of graphs (undirected, directed, multi)
> - two modes of labels (nodes should be able to hold values as their label=
s
> or pointers)
> - at least one network type (simple)
> - at least one execution algorithm (e.g coloring)
> - means to convert with other standard library structures (e.g to_string)
>
> I agree that using Boost::Graph is nothing near a proposal state, and I
> would rather recommend having a look at
> http://snap.stanford.edu/snap/index.html
> Luckily enough the excellent executors feature in C++20 will make this a
> LOT easier (Coloring or Coffman-Graham will just be a std::algorithm on t=
op
> of std::executors and a network).
>
> Am Samstag, 22. September 2012 21:25:03 UTC+2 schrieb Klaim - Jo=C3=ABl L=
amotte:
>>
>> Hi,
>>
>> I was wondering if any graph library (maybe boost.graph) have been
>> proposed for addition to the standard library?
>> If yes, is it's development or papers visible somewhere?
>>
>> I'm just being curious here but in the same time I find graph and
>> associated algorithms to be very powerful to solve some problems
>> I'm working on.
>>
>> Joel Lamotte
>>
> --
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> To view this discussion on the web visit
> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/6bc05001-fbc=
7-47e8-8e51-410b78dabc1c%40isocpp.org
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/6bc05001-fb=
c7-47e8-8e51-410b78dabc1c%40isocpp.org?utm_medium=3Demail&utm_source=3Dfoot=
er>
> .
>

--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/CAANG%3DkUQWspw21wMuaQgR3%3DeCB0igFie59FDuhWu9iF=
Dn%3DVXAA%40mail.gmail.com.

--000000000000da7bca057ce3987a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">While I&#39;m very interested in a graph library proposal,=
 I think that *having an implementation* is triply important in this case. =
Modernizing boost::graph is a great start, because it has most of the conce=
pts correctly identified, with the problems stemming mostly that the API de=
sign was hamstrung by the missing things that we&#39;ll have in C++20.<div>=
<br></div><div>Having both adjacency list and adjacency matrix representati=
ons will matter.</div><div><br></div><div>So, the way I&#39;d approach this=
 is by going the ranges route and having an actual range-v3 - analogous imp=
lementation before going to the specification stage. Papers are extremely d=
ifficult to vet without implementation and usage experience.</div><div><br>=
</div><div>G</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr">On =
Thu, Dec 13, 2018 at 8:26 AM &lt;<a href=3D"mailto:lennard.berger@student.u=
ni-tuebingen.de">lennard.berger@student.uni-tuebingen.de</a>&gt; wrote:<br>=
</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">Hello, I would as wel=
l be interested in bringing this to life. If you consider writing a proposa=
l please contact me.<div>In my opinion such a proposal should include:</div=
><div><br></div><div><div style=3D"color:rgb(0,0,0);font-family:Helvetica;f=
ont-size:12px">- three types of graphs (undirected, directed, multi)</div><=
div style=3D"color:rgb(0,0,0);font-family:Helvetica;font-size:12px">- two m=
odes of labels (nodes should be able to hold values as their labels or poin=
ters)</div><div style=3D"color:rgb(0,0,0);font-family:Helvetica;font-size:1=
2px">- at least one network type (simple)</div><div style=3D"color:rgb(0,0,=
0);font-family:Helvetica;font-size:12px">- at least one execution algorithm=
 (e.g coloring)</div><div style=3D"color:rgb(0,0,0);font-family:Helvetica;f=
ont-size:12px">- means to convert with other standard library structures (e=
..g to_string)</div><div style=3D"color:rgb(0,0,0);font-family:Helvetica;fon=
t-size:12px"><br></div><div style=3D"color:rgb(0,0,0);font-family:Helvetica=
;font-size:12px">I agree that using Boost::Graph is nothing near a proposal=
 state, and I would rather recommend having a look at=C2=A0<a href=3D"http:=
//snap.stanford.edu/snap/index.html" target=3D"_blank">http://snap.stanford=
..edu/snap/index.html</a></div><div style=3D"color:rgb(0,0,0);font-family:He=
lvetica;font-size:12px">Luckily enough the excellent executors feature in C=
++20 will make this a LOT easier (Coloring or Coffman-Graham will just be a=
 std::algorithm on top of std::executors and a network).</div><br>Am Samsta=
g, 22. September 2012 21:25:03 UTC+2 schrieb Klaim - Jo=C3=ABl Lamotte:<blo=
ckquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-le=
ft:1px #ccc solid;padding-left:1ex">Hi,<div><br></div><div>I was wondering =
if any graph library (maybe boost.graph) have been proposed for addition to=
 the standard library?</div><div>If yes, is it&#39;s development or papers =
visible somewhere?</div><div><br>
</div><div>I&#39;m just being curious here but in the same time I find grap=
h and associated algorithms to be very powerful to solve some problems</div=
><div>I&#39;m working on.</div><div><br></div><div>Joel Lamotte</div>
</blockquote></div></div>

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_=
blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/6bc05001-fbc7-47e8-8e51-410b78dabc1c%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank">=
https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/6bc05001-fbc7-=
47e8-8e51-410b78dabc1c%40isocpp.org</a>.<br>
</blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAANG%3DkUQWspw21wMuaQgR3%3DeCB0igFie=
59FDuhWu9iFDn%3DVXAA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoote=
r">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAANG%3DkUQ=
Wspw21wMuaQgR3%3DeCB0igFie59FDuhWu9iFDn%3DVXAA%40mail.gmail.com</a>.<br />

--000000000000da7bca057ce3987a--

.


Author: =?UTF-8?Q?Klaim_=2D_Jo=C3=ABl_Lamotte?= <mjklaim@gmail.com>
Date: Thu, 13 Dec 2018 11:44:01 +0100
Raw View
On Thu, 13 Dec 2018 at 10:04, Ga=C5=A1per A=C5=BEman <gasper.azman@gmail.co=
m> wrote:
>
> While I'm very interested in a graph library proposal, I think that *havi=
ng an implementation* is triply important in this case. Modernizing boost::=
graph is a great start, because it has most of the concepts correctly ident=
ified, with the problems stemming mostly that the API design was hamstrung =
by the missing things that we'll have in C++20.
>
> Having both adjacency list and adjacency matrix representations will matt=
er.
>
> So, the way I'd approach this is by going the ranges route and having an =
actual range-v3 - analogous implementation before going to the specificatio=
n stage. Papers are extremely difficult to vet without implementation and u=
sage experience.
>
> G

I agree. Looking around for graph libraries, I don't see any projects
that currently tries to be that, or maybe do you know one?

A. Jo=C3=ABl Lamotte

--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/CAOU91ONFAS3FMsw_K99eav%2BoCSyaFfzGO9%2Bd10C-ZtN=
i8FA%2BSw%40mail.gmail.com.

.


Author: lennard.berger@student.uni-tuebingen.de
Date: Thu, 13 Dec 2018 02:53:17 -0800 (PST)
Raw View
------=_Part_211_1003488716.1544698397775
Content-Type: multipart/alternative;
 boundary="----=_Part_212_1567464167.1544698397775"

------=_Part_212_1567464167.1544698397775
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I agree with this as well. The most recent graph library that I know of=20
is https://github.com/gabyx/ExecutionGraph. I talked to Gabriel but as I=20
understood he has not adopted ranges-v3 neither executors, so backing=20
something on the standards to come with C++20 is probably better =3D)

Am Donnerstag, 13. Dezember 2018 11:44:39 UTC+1 schrieb Klaim - Jo=C3=ABl=
=20
Lamotte:
>
> On Thu, 13 Dec 2018 at 10:04, Ga=C5=A1per A=C5=BEman <gasper...@gmail.com=
=20
> <javascript:>> wrote:=20
> >=20
> > While I'm very interested in a graph library proposal, I think that=20
> *having an implementation* is triply important in this case. Modernizing=
=20
> boost::graph is a great start, because it has most of the concepts=20
> correctly identified, with the problems stemming mostly that the API desi=
gn=20
> was hamstrung by the missing things that we'll have in C++20.=20
> >=20
> > Having both adjacency list and adjacency matrix representations will=20
> matter.=20
> >=20
> > So, the way I'd approach this is by going the ranges route and having a=
n=20
> actual range-v3 - analogous implementation before going to the=20
> specification stage. Papers are extremely difficult to vet without=20
> implementation and usage experience.=20
> >=20
> > G=20
>
> I agree. Looking around for graph libraries, I don't see any projects=20
> that currently tries to be that, or maybe do you know one?=20
>
> A. Jo=C3=ABl Lamotte=20
>

--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/2a8ad8f6-5a53-47dc-9e54-38958f6e2264%40isocpp.or=
g.

------=_Part_212_1567464167.1544698397775
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I agree with this as well. The most recent graph library t=
hat I know of is=C2=A0https://github.com/gabyx/ExecutionGraph. I talked to =
Gabriel but as I understood he has not adopted ranges-v3 neither executors,=
 so backing something on the standards to come with C++20 is probably bette=
r =3D)<br><br>Am Donnerstag, 13. Dezember 2018 11:44:39 UTC+1 schrieb Klaim=
 - Jo=C3=ABl Lamotte:<blockquote class=3D"gmail_quote" style=3D"margin: 0;m=
argin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On Thu, 1=
3 Dec 2018 at 10:04, Ga=C5=A1per A=C5=BEman &lt;<a href=3D"javascript:" tar=
get=3D"_blank" gdf-obfuscated-mailto=3D"eH6Q3xmkBAAJ" rel=3D"nofollow" onmo=
usedown=3D"this.href=3D&#39;javascript:&#39;;return true;" onclick=3D"this.=
href=3D&#39;javascript:&#39;;return true;">gasper...@gmail.com</a>&gt; wrot=
e:
<br>&gt;
<br>&gt; While I&#39;m very interested in a graph library proposal, I think=
 that *having an implementation* is triply important in this case. Moderniz=
ing boost::graph is a great start, because it has most of the concepts corr=
ectly identified, with the problems stemming mostly that the API design was=
 hamstrung by the missing things that we&#39;ll have in C++20.
<br>&gt;
<br>&gt; Having both adjacency list and adjacency matrix representations wi=
ll matter.
<br>&gt;
<br>&gt; So, the way I&#39;d approach this is by going the ranges route and=
 having an actual range-v3 - analogous implementation before going to the s=
pecification stage. Papers are extremely difficult to vet without implement=
ation and usage experience.
<br>&gt;
<br>&gt; G
<br>
<br>I agree. Looking around for graph libraries, I don&#39;t see any projec=
ts
<br>that currently tries to be that, or maybe do you know one?
<br>
<br>A. Jo=C3=ABl Lamotte
<br></blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/2a8ad8f6-5a53-47dc-9e54-38958f6e2264%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/2a8ad8f6-5a53-47dc-9e54-38958f6e2264=
%40isocpp.org</a>.<br />

------=_Part_212_1567464167.1544698397775--

------=_Part_211_1003488716.1544698397775--

.