Topic: More compact #include statement.


Author: Nicol Bolas <jmckesson@gmail.com>
Date: Wed, 7 Mar 2018 19:30:04 -0800 (PST)
Raw View
------=_Part_927_2126805641.1520479804621
Content-Type: multipart/alternative;
 boundary="----=_Part_928_1453740306.1520479804621"

------=_Part_928_1453740306.1520479804621
Content-Type: text/plain; charset="UTF-8"



On Wednesday, March 7, 2018 at 6:57:40 PM UTC-5, stayp...@gmail.com wrote:
>
> Hello,
>
> Did little research on this, testing the water with already cold feet.
>
> I find readability and editor estate could be improve if the #include
> statement would support multiple header files.
>

"Readability" in what sense? It may give the file fewer lines, but it's a
lot easier to find things and scan items in a vertical list than a
horizontal one.

--
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/7e2d9e7c-fc9b-4913-98bb-007ba5ae8806%40isocpp.org.

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

<div dir=3D"ltr"><br><br>On Wednesday, March 7, 2018 at 6:57:40 PM UTC-5, s=
tayp...@gmail.com wrote:<blockquote class=3D"gmail_quote" style=3D"margin: =
0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div d=
ir=3D"ltr">Hello,<div><br></div><div>Did little research on this, testing t=
he water with already cold feet.</div><div><br></div><div>I find readabilit=
y and editor estate could be improve if the #include statement would suppor=
t multiple header files.</div></div></blockquote><div><br>&quot;Readability=
&quot; in what sense? It may give the file fewer lines, but it&#39;s a lot =
easier to find things and scan items in a vertical list than a horizontal o=
ne.<br></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/7e2d9e7c-fc9b-4913-98bb-007ba5ae8806%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/7e2d9e7c-fc9b-4913-98bb-007ba5ae8806=
%40isocpp.org</a>.<br />

------=_Part_928_1453740306.1520479804621--

------=_Part_927_2126805641.1520479804621--

.


Author: gmisocpp@gmail.com
Date: Thu, 8 Mar 2018 01:57:59 -0800 (PST)
Raw View
------=_Part_1567_938067144.1520503079563
Content-Type: multipart/alternative;
 boundary="----=_Part_1568_1777946935.1520503079564"

------=_Part_1568_1777946935.1520503079564
Content-Type: text/plain; charset="UTF-8"

Maybe some simple rules could reduce the typical include list to this:

#include
    ios, iostream, istream, fstream, ostream, streambuf, iomanip,
    locale,
    string, string_view
    map, vector, list, queue, set, array,
    utility, algorithm, functional, limits,
    mutex condition_variable atomic,
    memory;


On Thursday, March 8, 2018 at 12:57:40 PM UTC+13, stayp...@gmail.com wrote:

> Hello,
>
> Did little research on this, testing the water with already cold feet.
>
> I find readability and editor estate could be improve if the #include
> statement would support multiple header files.
>
> #include <array> <cstdint> <functional> <iostream> <limits> <memory>
> <random> <string> <vector>
>
> instead of
>
> #include <algorithm>
> #include <array>
> #include <cstdint>
> #include <functional>
> #include <iostream>
> #include <limits>
> #include <memory>
> #include <random>
> #include <string>
> #include <vector>
>
> I though about this when opening a file with around 30 #include
> statement.   With the file header, empty line, the editor with it's 55
> viable line showed me nothing of substance.  Maybe a simpler solution would
> be the editor to support folding of that piece of code. Unfortunately the
> one I used does not.
>
> For fun I tried the following code, but readability went down the drain.
> The 2 code formater I use did not expected that usage though ;-)
>
> #include <algorithm> #include <array> #include <cstdint> #include
> <functional> #include <iostream> #include <limits>
> #include <memory> #include <random> #include <string> #include <vector>
>
>
> Does that make any sense ?
>
> Regards,
>
> - Mario
>

--
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/56477ac8-020a-4c21-9d6e-a9cb4f70cdd3%40isocpp.org.

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

<div dir=3D"ltr"><div>Maybe some simple rules could reduce the typical incl=
ude list to this:</div><div><br></div><div>#include</div><div>=C2=A0=C2=A0=
=C2=A0 ios, iostream, istream, fstream, ostream, streambuf, iomanip,<br>=C2=
=A0 =C2=A0 locale,<br>=C2=A0=C2=A0=C2=A0 string, string_view<br>=C2=A0=C2=
=A0 =C2=A0map, vector, list, queue, set, array,<br>=C2=A0=C2=A0 =C2=A0utili=
ty, algorithm, functional, limits,<br>=C2=A0=C2=A0 =C2=A0mutex condition_va=
riable atomic,<br>=C2=A0=C2=A0 =C2=A0memory;<br></div><div><br><br>On Thurs=
day, March 8, 2018 at 12:57:40 PM UTC+13, stayp...@gmail.com wrote:</div><b=
lockquote class=3D"gmail_quote" style=3D"margin: 0px 0px 0px 0.8ex; padding=
-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; =
border-left-style: solid;"><div dir=3D"ltr">Hello,<div><br></div><div>Did l=
ittle research on this, testing the water with already cold feet.</div><div=
><br></div><div>I find readability and editor estate could be improve if th=
e #include statement would support multiple header files.</div><div>=C2=A0<=
/div><div><div style=3D"border: 1px solid rgb(187, 187, 187); border-image:=
 none; -ms-word-wrap: break-word; background-color: rgb(250, 250, 250);"><c=
ode><div><span style=3D"color: rgb(136, 0, 0);">#include</span><span style=
=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(0, 136, 0);">&l=
t;array&gt;</span><span style=3D"color: rgb(0, 0, 0);"> </span><span style=
=3D"color: rgb(0, 136, 0);">&lt;cstdint&gt;</span><span style=3D"color: rgb=
(0, 0, 0);"> </span><span style=3D"color: rgb(0, 136, 0);">&lt;functional&g=
t;</span><span style=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color:=
 rgb(0, 136, 0);">&lt;iostream&gt;</span><span style=3D"color: rgb(0, 0, 0)=
;"> </span><span style=3D"color: rgb(0, 136, 0);">&lt;limits&gt;</span><spa=
n style=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(0, 136, =
0);">&lt;memory&gt;</span><span style=3D"color: rgb(0, 0, 0);"> </span><spa=
n style=3D"color: rgb(0, 136, 0);">&lt;random&gt;</span><span style=3D"colo=
r: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(0, 136, 0);">&lt;string=
&gt;</span><span style=3D"color: rgb(0, 0, 0);"> </span><span style=3D"colo=
r: rgb(0, 136, 0);">&lt;vector&gt;</span></div></code></div></div><div><br>=
</div><div>instead of=C2=A0</div><div><br></div><div><div style=3D"border: =
1px solid rgb(187, 187, 187); border-image: none; -ms-word-wrap: break-word=
; background-color: rgb(250, 250, 250);"><code><div><span style=3D"color: r=
gb(136, 0, 0);">#include</span><span style=3D"color: rgb(0, 0, 0);"> </span=
><span style=3D"color: rgb(0, 136, 0);">&lt;algorithm&gt;</span><span style=
=3D"color: rgb(0, 0, 0);"><br></span><span style=3D"color: rgb(136, 0, 0);"=
>#include</span><span style=3D"color: rgb(0, 0, 0);"> </span><span style=3D=
"color: rgb(0, 136, 0);">&lt;array&gt;</span><span style=3D"color: rgb(0, 0=
, 0);"><br></span><span style=3D"color: rgb(136, 0, 0);">#include</span><sp=
an style=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(0, 136,=
 0);">&lt;cstdint&gt;</span><span style=3D"color: rgb(0, 0, 0);"><br></span=
><span style=3D"color: rgb(136, 0, 0);">#include</span><span style=3D"color=
: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(0, 136, 0);">&lt;functio=
nal&gt;</span><span style=3D"color: rgb(0, 0, 0);"><br></span><span style=
=3D"color: rgb(136, 0, 0);">#include</span><span style=3D"color: rgb(0, 0, =
0);"> </span><span style=3D"color: rgb(0, 136, 0);">&lt;iostream&gt;</span>=
<span style=3D"color: rgb(0, 0, 0);"><br></span><span style=3D"color: rgb(1=
36, 0, 0);">#include</span><span style=3D"color: rgb(0, 0, 0);"> </span><sp=
an style=3D"color: rgb(0, 136, 0);">&lt;limits&gt;</span><span style=3D"col=
or: rgb(0, 0, 0);"><br></span><span style=3D"color: rgb(136, 0, 0);">#inclu=
de</span><span style=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color:=
 rgb(0, 136, 0);">&lt;memory&gt;</span><span style=3D"color: rgb(0, 0, 0);"=
><br></span><span style=3D"color: rgb(136, 0, 0);">#include</span><span sty=
le=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(0, 136, 0);">=
&lt;random&gt;</span><span style=3D"color: rgb(0, 0, 0);"><br></span><span =
style=3D"color: rgb(136, 0, 0);">#include</span><span style=3D"color: rgb(0=
, 0, 0);"> </span><span style=3D"color: rgb(0, 136, 0);">&lt;string&gt;</sp=
an><span style=3D"color: rgb(0, 0, 0);"><br></span><span style=3D"color: rg=
b(136, 0, 0);">#include</span><span style=3D"color: rgb(0, 0, 0);"> </span>=
<span style=3D"color: rgb(0, 136, 0);">&lt;vector&gt;</span></div></code></=
div><div><br></div></div><div>I though about this when opening a file with =
around 30 #include statement.=C2=A0 =C2=A0With the file header, empty line,=
 the editor with it&#39;s 55 viable line showed me nothing of substance.=C2=
=A0 Maybe a simpler solution would be the editor to support folding of that=
 piece of code. Unfortunately the one I used does not.</div><div><br></div>=
<div>For fun I tried the following code, but readability went down the drai=
n. The 2 code formater I use did not expected that usage though ;-)=C2=A0=
=C2=A0</div><div><br></div><div><div style=3D"border: 1px solid rgb(187, 18=
7, 187); border-image: none; -ms-word-wrap: break-word; background-color: r=
gb(250, 250, 250);"><code><div><span style=3D"color: rgb(136, 0, 0);">#incl=
ude</span><span style=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color=
: rgb(0, 136, 0);">&lt;algorithm&gt;</span><span style=3D"color: rgb(0, 0, =
0);"> </span><span style=3D"color: rgb(136, 0, 0);">#include</span><span st=
yle=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(0, 136, 0);"=
>&lt;array&gt;</span><span style=3D"color: rgb(0, 0, 0);"> </span><span sty=
le=3D"color: rgb(136, 0, 0);">#include</span><span style=3D"color: rgb(0, 0=
, 0);"> </span><span style=3D"color: rgb(0, 136, 0);">&lt;cstdint&gt;</span=
><span style=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(136=
, 0, 0);">#include</span><span style=3D"color: rgb(0, 0, 0);"> </span><span=
 style=3D"color: rgb(0, 136, 0);">&lt;functional&gt;</span><span style=3D"c=
olor: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(136, 0, 0);">#includ=
e</span><span style=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color: =
rgb(0, 136, 0);">&lt;iostream&gt;</span><span style=3D"color: rgb(0, 0, 0);=
"> </span><span style=3D"color: rgb(136, 0, 0);">#include</span><span style=
=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(0, 136, 0);">&l=
t;limits&gt;</span><span style=3D"color: rgb(0, 0, 0);"><br></span><span st=
yle=3D"color: rgb(136, 0, 0);">#include</span><span style=3D"color: rgb(0, =
0, 0);"> </span><span style=3D"color: rgb(0, 136, 0);">&lt;memory&gt;</span=
><span style=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(136=
, 0, 0);">#include</span><span style=3D"color: rgb(0, 0, 0);"> </span><span=
 style=3D"color: rgb(0, 136, 0);">&lt;random&gt;</span><span style=3D"color=
: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(136, 0, 0);">#include</s=
pan><span style=3D"color: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(=
0, 136, 0);">&lt;string&gt;</span><span style=3D"color: rgb(0, 0, 0);"> </s=
pan><span style=3D"color: rgb(136, 0, 0);">#include</span><span style=3D"co=
lor: rgb(0, 0, 0);"> </span><span style=3D"color: rgb(0, 136, 0);">&lt;vect=
or&gt;</span></div></code></div><div><br></div></div><div><br></div><div>Do=
es that make any sense ?</div><div><br></div><div>Regards,</div><div><br></=
div><div>- Mario</div></div></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/56477ac8-020a-4c21-9d6e-a9cb4f70cdd3%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/56477ac8-020a-4c21-9d6e-a9cb4f70cdd3=
%40isocpp.org</a>.<br />

------=_Part_1568_1777946935.1520503079564--

------=_Part_1567_938067144.1520503079563--

.


Author: Andrey Semashev <andrey.semashev@gmail.com>
Date: Thu, 8 Mar 2018 12:03:15 +0300
Raw View
On 03/08/18 09:44, Marius Bancila wrote:
> I have doubts that multiple filenames on the same line would increase
> readability. Finding a header file by scanning the includes vertically
> is much easier than doing that horizontally. Here is an example:
>
> #include <ios> <iostream> <istream> <fstream> <ostream> <streambuf>
> <iomanip>
> #include <locale>
> #include <string> <string_view>
> #include <map> <vector> <list> <queue> <set> <array>
> #include <utility> <algorithm> <functional> <limits>
> #include <mutex> <condition_variable> <atomic>
> #include <memory>
>
> I don't find it easier to find headers here, and this is a simple
> example without app or system specific headers. In real life you can get
> into much more complicated cases, as you mentioned yourself.

+1, looking through the list of headers vertically is much easier (at
least for me).

> IMO this is something editors should be able to do. The IDE I use,
> Visual Studio, does that pretty well.

I'm not sure what "this" you mean here. IMO, there's nothing to do, all
headers should stay one per line.

--
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/41771dd6-2803-b561-4349-f71f75127415%40gmail.com.

.


Author: stayprivate@gmail.com
Date: Wed, 7 Mar 2018 15:57:40 -0800 (PST)
Raw View
------=_Part_608_62550050.1520467060718
Content-Type: multipart/alternative;
 boundary="----=_Part_609_1593125291.1520467060718"

------=_Part_609_1593125291.1520467060718
Content-Type: text/plain; charset="UTF-8"

Hello,

Did little research on this, testing the water with already cold feet.

I find readability and editor estate could be improve if the #include
statement would support multiple header files.

#include <array> <cstdint> <functional> <iostream> <limits> <memory>
<random> <string> <vector>

instead of

#include <algorithm>
#include <array>
#include <cstdint>
#include <functional>
#include <iostream>
#include <limits>
#include <memory>
#include <random>
#include <string>
#include <vector>

I though about this when opening a file with around 30 #include statement.
 With the file header, empty line, the editor with it's 55 viable line
showed me nothing of substance.  Maybe a simpler solution would be the
editor to support folding of that piece of code. Unfortunately the one I
used does not.

For fun I tried the following code, but readability went down the drain.
The 2 code formater I use did not expected that usage though ;-)

#include <algorithm> #include <array> #include <cstdint> #include
<functional> #include <iostream> #include <limits>
#include <memory> #include <random> #include <string> #include <vector>


Does that make any sense ?

Regards,

- Mario

--
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/bcdae121-4ec3-4547-9ee9-7668cc7e8e59%40isocpp.org.

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

<div dir=3D"ltr">Hello,<div><br></div><div>Did little research on this, tes=
ting the water with already cold feet.</div><div><br></div><div>I find read=
ability and editor estate could be improve if the #include statement would =
support multiple header files.</div><div>=C2=A0</div><div><div class=3D"pre=
ttyprint" style=3D"background-color: rgb(250, 250, 250); border-color: rgb(=
187, 187, 187); border-style: solid; border-width: 1px; word-wrap: break-wo=
rd;"><code class=3D"prettyprint"><div class=3D"subprettyprint"><span style=
=3D"color: #800;" class=3D"styled-by-prettify">#include</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color=
: #080;" class=3D"styled-by-prettify">&lt;array&gt;</span><span style=3D"co=
lor: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #080=
;" class=3D"styled-by-prettify">&lt;cstdint&gt;</span><span style=3D"color:=
 #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #080;" c=
lass=3D"styled-by-prettify">&lt;functional&gt;</span><span style=3D"color: =
#000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #080;" cl=
ass=3D"styled-by-prettify">&lt;iostream&gt;</span><span style=3D"color: #00=
0;" class=3D"styled-by-prettify"> </span><span style=3D"color: #080;" class=
=3D"styled-by-prettify">&lt;limits&gt;</span><span style=3D"color: #000;" c=
lass=3D"styled-by-prettify"> </span><span style=3D"color: #080;" class=3D"s=
tyled-by-prettify">&lt;memory&gt;</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify"> </span><span style=3D"color: #080;" class=3D"style=
d-by-prettify">&lt;random&gt;</span><span style=3D"color: #000;" class=3D"s=
tyled-by-prettify"> </span><span style=3D"color: #080;" class=3D"styled-by-=
prettify">&lt;string&gt;</span><span style=3D"color: #000;" class=3D"styled=
-by-prettify"> </span><span style=3D"color: #080;" class=3D"styled-by-prett=
ify">&lt;vector&gt;</span></div></code></div></div><div><br></div><div>inst=
ead of=C2=A0</div><div><br></div><div><div class=3D"prettyprint" style=3D"b=
ackground-color: rgb(250, 250, 250); border-color: rgb(187, 187, 187); bord=
er-style: solid; border-width: 1px; word-wrap: break-word;"><code class=3D"=
prettyprint"><div class=3D"subprettyprint"><span style=3D"color: #800;" cla=
ss=3D"styled-by-prettify">#include</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify"> </span><span style=3D"color: #080;" class=3D"style=
d-by-prettify">&lt;algorithm&gt;</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify"><br></span><span style=3D"color: #800;" class=3D"st=
yled-by-prettify">#include</span><span style=3D"color: #000;" class=3D"styl=
ed-by-prettify"> </span><span style=3D"color: #080;" class=3D"styled-by-pre=
ttify">&lt;array&gt;</span><span style=3D"color: #000;" class=3D"styled-by-=
prettify"><br></span><span style=3D"color: #800;" class=3D"styled-by-pretti=
fy">#include</span><span style=3D"color: #000;" class=3D"styled-by-prettify=
"> </span><span style=3D"color: #080;" class=3D"styled-by-prettify">&lt;cst=
dint&gt;</span><span style=3D"color: #000;" class=3D"styled-by-prettify"><b=
r></span><span style=3D"color: #800;" class=3D"styled-by-prettify">#include=
</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><s=
pan style=3D"color: #080;" class=3D"styled-by-prettify">&lt;functional&gt;<=
/span><span style=3D"color: #000;" class=3D"styled-by-prettify"><br></span>=
<span style=3D"color: #800;" class=3D"styled-by-prettify">#include</span><s=
pan style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=
=3D"color: #080;" class=3D"styled-by-prettify">&lt;iostream&gt;</span><span=
 style=3D"color: #000;" class=3D"styled-by-prettify"><br></span><span style=
=3D"color: #800;" class=3D"styled-by-prettify">#include</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color=
: #080;" class=3D"styled-by-prettify">&lt;limits&gt;</span><span style=3D"c=
olor: #000;" class=3D"styled-by-prettify"><br></span><span style=3D"color: =
#800;" class=3D"styled-by-prettify">#include</span><span style=3D"color: #0=
00;" class=3D"styled-by-prettify"> </span><span style=3D"color: #080;" clas=
s=3D"styled-by-prettify">&lt;memory&gt;</span><span style=3D"color: #000;" =
class=3D"styled-by-prettify"><br></span><span style=3D"color: #800;" class=
=3D"styled-by-prettify">#include</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify"> </span><span style=3D"color: #080;" class=3D"style=
d-by-prettify">&lt;random&gt;</span><span style=3D"color: #000;" class=3D"s=
tyled-by-prettify"><br></span><span style=3D"color: #800;" class=3D"styled-=
by-prettify">#include</span><span style=3D"color: #000;" class=3D"styled-by=
-prettify"> </span><span style=3D"color: #080;" class=3D"styled-by-prettify=
">&lt;string&gt;</span><span style=3D"color: #000;" class=3D"styled-by-pret=
tify"><br></span><span style=3D"color: #800;" class=3D"styled-by-prettify">=
#include</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> <=
/span><span style=3D"color: #080;" class=3D"styled-by-prettify">&lt;vector&=
gt;</span></div></code></div><div><br></div></div><div>I though about this =
when opening a file with around 30 #include statement.=C2=A0 =C2=A0With the=
 file header, empty line, the editor with it&#39;s 55 viable line showed me=
 nothing of substance.=C2=A0 Maybe a simpler solution would be the editor t=
o support folding of that piece of code. Unfortunately the one I used does =
not.</div><div><br></div><div>For fun I tried the following code, but reada=
bility went down the drain. The 2 code formater I use did not expected that=
 usage though ;-)=C2=A0=C2=A0</div><div><br></div><div><div class=3D"pretty=
print" style=3D"background-color: rgb(250, 250, 250); border-color: rgb(187=
, 187, 187); border-style: solid; border-width: 1px; word-wrap: break-word;=
"><code class=3D"prettyprint"><div class=3D"subprettyprint"><span style=3D"=
color: #800;" class=3D"styled-by-prettify">#include</span><span style=3D"co=
lor: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #080=
;" class=3D"styled-by-prettify">&lt;algorithm&gt;</span><span style=3D"colo=
r: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #800;"=
 class=3D"styled-by-prettify">#include</span><span style=3D"color: #000;" c=
lass=3D"styled-by-prettify"> </span><span style=3D"color: #080;" class=3D"s=
tyled-by-prettify">&lt;array&gt;</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify"> </span><span style=3D"color: #800;" class=3D"style=
d-by-prettify">#include</span><span style=3D"color: #000;" class=3D"styled-=
by-prettify"> </span><span style=3D"color: #080;" class=3D"styled-by-pretti=
fy">&lt;cstdint&gt;</span><span style=3D"color: #000;" class=3D"styled-by-p=
rettify"> </span><span style=3D"color: #800;" class=3D"styled-by-prettify">=
#include</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> <=
/span><span style=3D"color: #080;" class=3D"styled-by-prettify">&lt;functio=
nal&gt;</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </=
span><span style=3D"color: #800;" class=3D"styled-by-prettify">#include</sp=
an><span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span =
style=3D"color: #080;" class=3D"styled-by-prettify">&lt;iostream&gt;</span>=
<span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span sty=
le=3D"color: #800;" class=3D"styled-by-prettify">#include</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color=
: #080;" class=3D"styled-by-prettify">&lt;limits&gt;</span><span style=3D"c=
olor: #000;" class=3D"styled-by-prettify"><br></span><span style=3D"color: =
#800;" class=3D"styled-by-prettify">#include</span><span style=3D"color: #0=
00;" class=3D"styled-by-prettify"> </span><span style=3D"color: #080;" clas=
s=3D"styled-by-prettify">&lt;memory&gt;</span><span style=3D"color: #000;" =
class=3D"styled-by-prettify"> </span><span style=3D"color: #800;" class=3D"=
styled-by-prettify">#include</span><span style=3D"color: #000;" class=3D"st=
yled-by-prettify"> </span><span style=3D"color: #080;" class=3D"styled-by-p=
rettify">&lt;random&gt;</span><span style=3D"color: #000;" class=3D"styled-=
by-prettify"> </span><span style=3D"color: #800;" class=3D"styled-by-pretti=
fy">#include</span><span style=3D"color: #000;" class=3D"styled-by-prettify=
"> </span><span style=3D"color: #080;" class=3D"styled-by-prettify">&lt;str=
ing&gt;</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </=
span><span style=3D"color: #800;" class=3D"styled-by-prettify">#include</sp=
an><span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span =
style=3D"color: #080;" class=3D"styled-by-prettify">&lt;vector&gt;</span></=
div></code></div><div><br></div></div><div><br></div><div>Does that make an=
y sense ?</div><div><br></div><div>Regards,</div><div><br></div><div>- Mari=
o</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/bcdae121-4ec3-4547-9ee9-7668cc7e8e59%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/bcdae121-4ec3-4547-9ee9-7668cc7e8e59=
%40isocpp.org</a>.<br />

------=_Part_609_1593125291.1520467060718--

------=_Part_608_62550050.1520467060718--

.


Author: Jake Arkinstall <jake.arkinstall@gmail.com>
Date: Thu, 8 Mar 2018 00:24:28 +0000
Raw View
--001a1141d570e67f400566dbb2e2
Content-Type: text/plain; charset="UTF-8"

Makes sense to me.

I think this exact issue should be made redundant with modules, but I am
not aware of module imports currently allowing more than one import per
statement. In fact, a "from std import io, math, complex" type of statement
(borrowed from python syntax but with C++ naming) in modules would actually
be pretty nice. I'm not entirely sure on the status of modules, but someone
else here will be able to have more input about this.

--
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/CAC%2B0CCMdj9BVqLQ9VwUza-%2B7cbwD49TsbUi0A3xWiPmvovkGiQ%40mail.gmail.com.

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

<div dir=3D"auto">Makes sense to me.<div dir=3D"auto"><div dir=3D"auto"><br=
></div><div dir=3D"auto">I think this exact issue should be made redundant =
with modules, but I am not aware of module imports currently allowing more =
than one import per statement. In fact, a &quot;from std import io, math, c=
omplex&quot; type of statement (borrowed from python syntax but with C++ na=
ming) in modules would actually be pretty nice. I&#39;m not entirely sure o=
n the status of modules, but someone else here will be able to have more in=
put about this.</div></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/CAC%2B0CCMdj9BVqLQ9VwUza-%2B7cbwD49Ts=
bUi0A3xWiPmvovkGiQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAC%2B0CCMdj9=
BVqLQ9VwUza-%2B7cbwD49TsbUi0A3xWiPmvovkGiQ%40mail.gmail.com</a>.<br />

--001a1141d570e67f400566dbb2e2--

.


Author: Jonathan Coe <jonathanbcoe@gmail.com>
Date: Thu, 8 Mar 2018 07:30:13 +0000
Raw View
--Apple-Mail-DE58BBD9-2E21-4236-8D5A-2B20113A2448
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I would be interested to know what the readability research you did consist=
s of. I=E2=80=99m not sure I agree with the conclusion in this case but it =
could be useful to assess readability with some clearly defined criteria.

> On 8 Mar 2018, at 06:44, Marius Bancila <marius.bancila@gmail.com> wrote:
>=20
> I have doubts that multiple filenames on the same line would increase rea=
dability. Finding a header file by scanning the includes vertically is much=
 easier than doing that horizontally. Here is an example:
>=20
> #include <ios> <iostream> <istream> <fstream> <ostream> <streambuf> <ioma=
nip>
> #include <locale>=20
> #include <string> <string_view>
> #include <map> <vector> <list> <queue> <set> <array>
> #include <utility> <algorithm> <functional> <limits>
> #include <mutex> <condition_variable> <atomic>
> #include <memory>
>=20
> I don't find it easier to find headers here, and this is a simple example=
 without app or system specific headers. In real life you can get into much=
 more complicated cases, as you mentioned yourself.
>=20
> IMO this is something editors should be able to do. The IDE I use, Visual=
 Studio, does that pretty well.
>=20
>> On Thu, Mar 8, 2018 at 5:30 AM, Nicol Bolas <jmckesson@gmail.com> wrote:
>>=20
>>=20
>>> On Wednesday, March 7, 2018 at 6:57:40 PM UTC-5, stayp...@gmail.com wro=
te:
>>> Hello,
>>>=20
>>> Did little research on this, testing the water with already cold feet.
>>>=20
>>> I find readability and editor estate could be improve if the #include s=
tatement would support multiple header files.
>>=20
>>=20
>> "Readability" in what sense? It may give the file fewer lines, but it's =
a lot easier to find things and scan items in a vertical list than a horizo=
ntal one.
>> --=20
>> You received this message because you are subscribed to the Google Group=
s "ISO C++ Standard - Future Proposals" group.
>> To unsubscribe from this group and stop receiving emails from it, send a=
n 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/iso=
cpp.org/d/msgid/std-proposals/7e2d9e7c-fc9b-4913-98bb-007ba5ae8806%40isocpp=
..org.
>=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=
 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/isoc=
pp.org/d/msgid/std-proposals/CA%2BgtASxnYc3T-LjLXvuJ361OmstDo2Wn%2B0hB3-_8r=
JNRuomyjw%40mail.gmail.com.

--=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/E7461E12-A5AC-4341-8F11-001EAF543433%40gmail.com=
..

--Apple-Mail-DE58BBD9-2E21-4236-8D5A-2B20113A2448
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=
=3Dutf-8"></head><body dir=3D"auto"><div></div><div>I would be interested t=
o know what the readability research you did consists of. I=E2=80=99m not s=
ure I agree with the conclusion in this case but it could be useful to asse=
ss readability with some clearly defined criteria.</div><div><br>On 8 Mar 2=
018, at 06:44, Marius Bancila &lt;<a href=3D"mailto:marius.bancila@gmail.co=
m">marius.bancila@gmail.com</a>&gt; wrote:<br><br></div><blockquote type=3D=
"cite"><div><div dir=3D"ltr">I have doubts that multiple filenames on the s=
ame line would increase readability. Finding a header file by scanning the =
includes vertically is much easier than doing that horizontally. Here is an=
 example:<div><br></div><div><div><font face=3D"monospace, monospace">#incl=
ude &lt;ios&gt; &lt;iostream&gt; &lt;istream&gt; &lt;fstream&gt; &lt;ostrea=
m&gt; &lt;streambuf&gt; &lt;iomanip&gt;</font></div><div><font face=3D"mono=
space, monospace">#include &lt;locale&gt;&nbsp;</font></div><div><font face=
=3D"monospace, monospace">#include &lt;string&gt; &lt;string_view&gt;</font=
></div><div><font face=3D"monospace, monospace">#include &lt;map&gt; &lt;ve=
ctor&gt; &lt;list&gt; &lt;queue&gt; &lt;set&gt; &lt;array&gt;</font></div><=
div><font face=3D"monospace, monospace">#include &lt;utility&gt; &lt;algori=
thm&gt; &lt;functional&gt; &lt;limits&gt;</font></div><div><font face=3D"mo=
nospace, monospace">#include &lt;mutex&gt; &lt;condition_variable&gt; &lt;a=
tomic&gt;</font></div><div><font face=3D"monospace, monospace">#include &lt=
;memory&gt;</font></div></div><div><br></div><div>I don't find it easier to=
 find headers here, and this is a simple example without app or system spec=
ific headers. In real life you can get into much more complicated cases, as=
 you mentioned yourself.</div><div><br></div><div>IMO this is something edi=
tors should be able to do. The IDE I use, Visual Studio, does that pretty w=
ell.</div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">O=
n Thu, Mar 8, 2018 at 5:30 AM, Nicol Bolas <span dir=3D"ltr">&lt;<a href=3D=
"mailto:jmckesson@gmail.com" target=3D"_blank">jmckesson@gmail.com</a>&gt;<=
/span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><span clas=
s=3D""><br><br>On Wednesday, March 7, 2018 at 6:57:40 PM UTC-5, <a href=3D"=
mailto:stayp...@gmail.com" target=3D"_blank">stayp...@gmail.com</a> wrote:<=
blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border=
-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">Hello,<div><br></di=
v><div>Did little research on this, testing the water with already cold fee=
t.</div><div><br></div><div>I find readability and editor estate could be i=
mprove if the #include statement would support multiple header files.</div>=
</div></blockquote></span><div><br>"Readability" in what sense? It may give=
 the file fewer lines, but it's a lot easier to find things and scan items =
in a vertical list than a horizontal one.<br></div></div><span class=3D"">

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" 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@<wbr>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></span>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/7e2d9e7c-fc9b-4913-98bb-007ba5ae8806%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank">=
https://groups.google.com/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/7e2d=
9e7c-fc9b-4913-<wbr>98bb-007ba5ae8806%40isocpp.org</a><wbr>.<br>
</blockquote></div><br></div>

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" 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/CA%2BgtASxnYc3T-LjLXvuJ361OmstDo2Wn%2=
B0hB3-_8rJNRuomyjw%40mail.gmail.com?utm_medium=3Demail&amp;utm_source=3Dfoo=
ter">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CA%2BgtAS=
xnYc3T-LjLXvuJ361OmstDo2Wn%2B0hB3-_8rJNRuomyjw%40mail.gmail.com</a>.<br>
</div></blockquote></body></html>

<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/E7461E12-A5AC-4341-8F11-001EAF543433%=
40gmail.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/E7461E12-A5AC-4341-8F11-001EAF543433%=
40gmail.com</a>.<br />

--Apple-Mail-DE58BBD9-2E21-4236-8D5A-2B20113A2448--

.


Author: Marius Bancila <marius.bancila@gmail.com>
Date: Thu, 8 Mar 2018 08:44:06 +0200
Raw View
--94eb2c1fbc50bfbd7d0566e1013f
Content-Type: text/plain; charset="UTF-8"

I have doubts that multiple filenames on the same line would increase
readability. Finding a header file by scanning the includes vertically is
much easier than doing that horizontally. Here is an example:

#include <ios> <iostream> <istream> <fstream> <ostream> <streambuf>
<iomanip>
#include <locale>
#include <string> <string_view>
#include <map> <vector> <list> <queue> <set> <array>
#include <utility> <algorithm> <functional> <limits>
#include <mutex> <condition_variable> <atomic>
#include <memory>

I don't find it easier to find headers here, and this is a simple example
without app or system specific headers. In real life you can get into much
more complicated cases, as you mentioned yourself.

IMO this is something editors should be able to do. The IDE I use, Visual
Studio, does that pretty well.

On Thu, Mar 8, 2018 at 5:30 AM, Nicol Bolas <jmckesson@gmail.com> wrote:

>
>
> On Wednesday, March 7, 2018 at 6:57:40 PM UTC-5, stayp...@gmail.com wrote:
>>
>> Hello,
>>
>> Did little research on this, testing the water with already cold feet.
>>
>> I find readability and editor estate could be improve if the #include
>> statement would support multiple header files.
>>
>
> "Readability" in what sense? It may give the file fewer lines, but it's a
> lot easier to find things and scan items in a vertical list than a
> horizontal one.
>
> --
> 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/7e2d9e7c-fc9b-4913-
> 98bb-007ba5ae8806%40isocpp.org
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/7e2d9e7c-fc9b-4913-98bb-007ba5ae8806%40isocpp.org?utm_medium=email&utm_source=footer>
> .
>

--
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/CA%2BgtASxnYc3T-LjLXvuJ361OmstDo2Wn%2B0hB3-_8rJNRuomyjw%40mail.gmail.com.

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

<div dir=3D"ltr">I have doubts that multiple filenames on the same line wou=
ld increase readability. Finding a header file by scanning the includes ver=
tically is much easier than doing that horizontally. Here is an example:<di=
v><br></div><div><div><font face=3D"monospace, monospace">#include &lt;ios&=
gt; &lt;iostream&gt; &lt;istream&gt; &lt;fstream&gt; &lt;ostream&gt; &lt;st=
reambuf&gt; &lt;iomanip&gt;</font></div><div><font face=3D"monospace, monos=
pace">#include &lt;locale&gt;=C2=A0</font></div><div><font face=3D"monospac=
e, monospace">#include &lt;string&gt; &lt;string_view&gt;</font></div><div>=
<font face=3D"monospace, monospace">#include &lt;map&gt; &lt;vector&gt; &lt=
;list&gt; &lt;queue&gt; &lt;set&gt; &lt;array&gt;</font></div><div><font fa=
ce=3D"monospace, monospace">#include &lt;utility&gt; &lt;algorithm&gt; &lt;=
functional&gt; &lt;limits&gt;</font></div><div><font face=3D"monospace, mon=
ospace">#include &lt;mutex&gt; &lt;condition_variable&gt; &lt;atomic&gt;</f=
ont></div><div><font face=3D"monospace, monospace">#include &lt;memory&gt;<=
/font></div></div><div><br></div><div>I don&#39;t find it easier to find he=
aders here, and this is a simple example without app or system specific hea=
ders. In real life you can get into much more complicated cases, as you men=
tioned yourself.</div><div><br></div><div>IMO this is something editors sho=
uld be able to do. The IDE I use, Visual Studio, does that pretty well.</di=
v></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Thu, M=
ar 8, 2018 at 5:30 AM, Nicol Bolas <span dir=3D"ltr">&lt;<a href=3D"mailto:=
jmckesson@gmail.com" target=3D"_blank">jmckesson@gmail.com</a>&gt;</span> w=
rote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><span class=3D""><=
br><br>On Wednesday, March 7, 2018 at 6:57:40 PM UTC-5, <a href=3D"mailto:s=
tayp...@gmail.com" target=3D"_blank">stayp...@gmail.com</a> wrote:<blockquo=
te class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr">Hello,<div><br></div><div>D=
id little research on this, testing the water with already cold feet.</div>=
<div><br></div><div>I find readability and editor estate could be improve i=
f the #include statement would support multiple header files.</div></div></=
blockquote></span><div><br>&quot;Readability&quot; in what sense? It may gi=
ve the file fewer lines, but it&#39;s a lot easier to find things and scan =
items in a vertical list than a horizontal one.<br></div></div><span class=
=3D"">

<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@<wbr>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></span>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/7e2d9e7c-fc9b-4913-98bb-007ba5ae8806%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank">=
https://groups.google.com/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/7e2d=
9e7c-fc9b-4913-<wbr>98bb-007ba5ae8806%40isocpp.org</a><wbr>.<br>
</blockquote></div><br></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/CA%2BgtASxnYc3T-LjLXvuJ361OmstDo2Wn%2=
B0hB3-_8rJNRuomyjw%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CA%2BgtASxnYc=
3T-LjLXvuJ361OmstDo2Wn%2B0hB3-_8rJNRuomyjw%40mail.gmail.com</a>.<br />

--94eb2c1fbc50bfbd7d0566e1013f--

.


Author: Marius Bancila <marius.bancila@gmail.com>
Date: Thu, 8 Mar 2018 15:44:45 +0200
Raw View
--94eb2c187b7823e3860566e6e22d
Content-Type: text/plain; charset="UTF-8"

>
> I'm not sure what "this" you mean here. IMO, there's nothing to do, all
> headers should stay one per line.


Sorry about the confusion. I meant that editors should be able to
collapse/fold regions of #include directives in order to keep them out of
sight so you can focus on the code. Yes, I agree, headers should stay one
per line. :)


On Thu, Mar 8, 2018 at 11:03 AM, Andrey Semashev <andrey.semashev@gmail.com>
wrote:

> On 03/08/18 09:44, Marius Bancila wrote:
>
>> I have doubts that multiple filenames on the same line would increase
>> readability. Finding a header file by scanning the includes vertically is
>> much easier than doing that horizontally. Here is an example:
>>
>> #include <ios> <iostream> <istream> <fstream> <ostream> <streambuf>
>> <iomanip>
>> #include <locale>
>> #include <string> <string_view>
>> #include <map> <vector> <list> <queue> <set> <array>
>> #include <utility> <algorithm> <functional> <limits>
>> #include <mutex> <condition_variable> <atomic>
>> #include <memory>
>>
>> I don't find it easier to find headers here, and this is a simple example
>> without app or system specific headers. In real life you can get into much
>> more complicated cases, as you mentioned yourself.
>>
>
> +1, looking through the list of headers vertically is much easier (at
> least for me).
>
> IMO this is something editors should be able to do. The IDE I use, Visual
>> Studio, does that pretty well.
>>
>
> I'm not sure what "this" you mean here. IMO, there's nothing to do, all
> headers should stay one per line.
>
> --
> 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/is
> ocpp.org/d/msgid/std-proposals/41771dd6-2803-b561-4349-
> f71f75127415%40gmail.com.
>

--
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/CA%2BgtASx6wfn9RMpD3_dBAfT7mWYnaXM5rDcmG1QwWch%2BOnnTdg%40mail.gmail.com.

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

<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px =
0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span st=
yle=3D"color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;fon=
t-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-=
weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-tran=
sform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255=
,255);text-decoration-style:initial;text-decoration-color:initial;float:non=
e;display:inline">I&#39;m not sure what &quot;this&quot; you mean here. IMO=
, there&#39;s nothing to do, all headers should stay one per line.</span>

</blockquote><div><br></div><div>Sorry about the confusion. I meant that ed=
itors should be able to collapse/fold regions of #include directives in ord=
er to keep them out of sight so you can focus on the code. Yes, I agree, he=
aders should stay one per line. :)</div><br><div class=3D"gmail_extra"><br>=
<div class=3D"gmail_quote">On Thu, Mar 8, 2018 at 11:03 AM, Andrey Semashev=
 <span dir=3D"ltr">&lt;<a href=3D"mailto:andrey.semashev@gmail.com" target=
=3D"_blank">andrey.semashev@gmail.com</a>&gt;</span> wrote:<br><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid=
;padding-left:1ex"><span class=3D"">On 03/08/18 09:44, Marius Bancila wrote=
:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
I have doubts that multiple filenames on the same line would increase reada=
bility. Finding a header file by scanning the includes vertically is much e=
asier than doing that horizontally. Here is an example:<br>
<br>
#include &lt;ios&gt; &lt;iostream&gt; &lt;istream&gt; &lt;fstream&gt; &lt;o=
stream&gt; &lt;streambuf&gt; &lt;iomanip&gt;<br>
#include &lt;locale&gt;<br>
#include &lt;string&gt; &lt;string_view&gt;<br>
#include &lt;map&gt; &lt;vector&gt; &lt;list&gt; &lt;queue&gt; &lt;set&gt; =
&lt;array&gt;<br>
#include &lt;utility&gt; &lt;algorithm&gt; &lt;functional&gt; &lt;limits&gt=
;<br>
#include &lt;mutex&gt; &lt;condition_variable&gt; &lt;atomic&gt;<br>
#include &lt;memory&gt;<br>
<br>
I don&#39;t find it easier to find headers here, and this is a simple examp=
le without app or system specific headers. In real life you can get into mu=
ch more complicated cases, as you mentioned yourself.<br>
</blockquote>
<br></span>
+1, looking through the list of headers vertically is much easier (at least=
 for me).<span class=3D""><br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
IMO this is something editors should be able to do. The IDE I use, Visual S=
tudio, does that pretty well.<br>
</blockquote>
<br></span>
I&#39;m not sure what &quot;this&quot; you mean here. IMO, there&#39;s noth=
ing to do, all headers should stay one per line.<span class=3D""><br>
<br>
-- <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%2Bunsubscribe@isocpp.org" target=3D=
"_blank">std-proposals+unsubscribe@isoc<wbr>pp.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></span>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/41771dd6-2803-b561-4349-f71f75127415%=
40gmail.com" rel=3D"noreferrer" target=3D"_blank">https://groups.google.com=
/a/is<wbr>ocpp.org/d/msgid/std-proposals<wbr>/41771dd6-2803-b561-4349-<wbr>=
f71f75127415%40gmail.com</a>.<br>
</blockquote></div><br></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/CA%2BgtASx6wfn9RMpD3_dBAfT7mWYnaXM5rD=
cmG1QwWch%2BOnnTdg%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CA%2BgtASx6wf=
n9RMpD3_dBAfT7mWYnaXM5rDcmG1QwWch%2BOnnTdg%40mail.gmail.com</a>.<br />

--94eb2c187b7823e3860566e6e22d--

.


Author: Richard Hodges <hodges.r@gmail.com>
Date: Thu, 8 Mar 2018 13:56:50 +0000
Raw View
--f403045fc23c25053b0566e70c49
Content-Type: text/plain; charset="UTF-8"

On 8 March 2018 at 09:57, <gmisocpp@gmail.com> wrote:

> Maybe some simple rules could reduce the typical include list to this:
>
> #include
>     ios, iostream, istream, fstream, ostream, streambuf, iomanip,
>     locale,
>     string, string_view
>     map, vector, list, queue, set, array,
>     utility, algorithm, functional, limits,
>     mutex condition_variable atomic,
>     memory;
>
>
Shouldn't we just wait for:

from std import cin, cout, vector;

Or whatever syntax is proposed for modules in c++20?







>
> On Thursday, March 8, 2018 at 12:57:40 PM UTC+13, stayp...@gmail.com
> wrote:
>
>> Hello,
>>
>> Did little research on this, testing the water with already cold feet.
>>
>> I find readability and editor estate could be improve if the #include
>> statement would support multiple header files.
>>
>> #include <array> <cstdint> <functional> <iostream> <limits> <memory>
>> <random> <string> <vector>
>>
>> instead of
>>
>> #include <algorithm>
>> #include <array>
>> #include <cstdint>
>> #include <functional>
>> #include <iostream>
>> #include <limits>
>> #include <memory>
>> #include <random>
>> #include <string>
>> #include <vector>
>>
>> I though about this when opening a file with around 30 #include
>> statement.   With the file header, empty line, the editor with it's 55
>> viable line showed me nothing of substance.  Maybe a simpler solution would
>> be the editor to support folding of that piece of code. Unfortunately the
>> one I used does not.
>>
>> For fun I tried the following code, but readability went down the drain.
>> The 2 code formater I use did not expected that usage though ;-)
>>
>> #include <algorithm> #include <array> #include <cstdint> #include
>> <functional> #include <iostream> #include <limits>
>> #include <memory> #include <random> #include <string> #include <vector>
>>
>>
>> Does that make any sense ?
>>
>> Regards,
>>
>> - Mario
>>
> --
> 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/56477ac8-020a-4c21-
> 9d6e-a9cb4f70cdd3%40isocpp.org
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/56477ac8-020a-4c21-9d6e-a9cb4f70cdd3%40isocpp.org?utm_medium=email&utm_source=footer>
> .
>

--
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/CALvx3hbhLBamxdwSEq%3DFY3C5%2BTiuD6r-ogLasZ2EGxV4dn2KOw%40mail.gmail.com.

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

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On 8 March 2018 at 09:57,  <span dir=3D"ltr">&lt;<a href=3D"mailto:gmis=
ocpp@gmail.com" target=3D"_blank">gmisocpp@gmail.com</a>&gt;</span> wrote:<=
br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left=
:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>Maybe some simple r=
ules could reduce the typical include list to this:</div><div><br></div><di=
v>#include</div><div>=C2=A0=C2=A0=C2=A0 ios, iostream, istream, fstream, os=
tream, streambuf, iomanip,<br>=C2=A0 =C2=A0 locale,<br>=C2=A0=C2=A0=C2=A0 s=
tring, string_view<br>=C2=A0=C2=A0 =C2=A0map, vector, list, queue, set, arr=
ay,<br>=C2=A0=C2=A0 =C2=A0utility, algorithm, functional, limits,<br>=C2=A0=
=C2=A0 =C2=A0mutex condition_variable atomic,<br>=C2=A0=C2=A0 =C2=A0memory;=
<br></div><div><div class=3D"h5"><div><br></div></div></div></div></blockqu=
ote><div><br></div><div>Shouldn&#39;t we just wait for:</div><div><br></div=
><div><font face=3D"monospace, monospace">from std import cin, cout, vector=
;</font></div><div><br></div><div>Or whatever syntax is proposed for module=
s in c++20?=C2=A0=C2=A0<br><br><br><br><br></div><div><br></div><div>=C2=A0=
</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"><div><div class=3D"h5=
"><div><br>On Thursday, March 8, 2018 at 12:57:40 PM UTC+13, <a href=3D"mai=
lto:stayp...@gmail.com" target=3D"_blank">stayp...@gmail.com</a> wrote:</di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;paddi=
ng-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border=
-left-style:solid"><div dir=3D"ltr">Hello,<div><br></div><div>Did little re=
search on this, testing the water with already cold feet.</div><div><br></d=
iv><div>I find readability and editor estate could be improve if the #inclu=
de statement would support multiple header files.</div><div>=C2=A0</div><di=
v><div style=3D"border:1px solid rgb(187,187,187);background-color:rgb(250,=
250,250)"><code><div><span style=3D"color:rgb(136,0,0)">#include</span><spa=
n style=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rgb(0,136,0)">&lt=
;array&gt;</span><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"co=
lor:rgb(0,136,0)">&lt;cstdint&gt;</span><span style=3D"color:rgb(0,0,0)"> <=
/span><span style=3D"color:rgb(0,136,0)">&lt;functional&gt;</span><span sty=
le=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rgb(0,136,0)">&lt;iost=
ream&gt;</span><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"colo=
r:rgb(0,136,0)">&lt;limits&gt;</span><span style=3D"color:rgb(0,0,0)"> </sp=
an><span style=3D"color:rgb(0,136,0)">&lt;memory&gt;</span><span style=3D"c=
olor:rgb(0,0,0)"> </span><span style=3D"color:rgb(0,136,0)">&lt;random&gt;<=
/span><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rgb(0,1=
36,0)">&lt;string&gt;</span><span style=3D"color:rgb(0,0,0)"> </span><span =
style=3D"color:rgb(0,136,0)">&lt;vector&gt;</span></div></code></div></div>=
<div><br></div><div>instead of=C2=A0</div><div><br></div><div><div style=3D=
"border:1px solid rgb(187,187,187);background-color:rgb(250,250,250)"><code=
><div><span style=3D"color:rgb(136,0,0)">#include</span><span style=3D"colo=
r:rgb(0,0,0)"> </span><span style=3D"color:rgb(0,136,0)">&lt;algorithm&gt;<=
/span><span style=3D"color:rgb(0,0,0)"><br></span><span style=3D"color:rgb(=
136,0,0)">#include</span><span style=3D"color:rgb(0,0,0)"> </span><span sty=
le=3D"color:rgb(0,136,0)">&lt;array&gt;</span><span style=3D"color:rgb(0,0,=
0)"><br></span><span style=3D"color:rgb(136,0,0)">#include</span><span styl=
e=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rgb(0,136,0)">&lt;cstdi=
nt&gt;</span><span style=3D"color:rgb(0,0,0)"><br></span><span style=3D"col=
or:rgb(136,0,0)">#include</span><span style=3D"color:rgb(0,0,0)"> </span><s=
pan style=3D"color:rgb(0,136,0)">&lt;functional&gt;</span><span style=3D"co=
lor:rgb(0,0,0)"><br></span><span style=3D"color:rgb(136,0,0)">#include</spa=
n><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rgb(0,136,0=
)">&lt;iostream&gt;</span><span style=3D"color:rgb(0,0,0)"><br></span><span=
 style=3D"color:rgb(136,0,0)">#include</span><span style=3D"color:rgb(0,0,0=
)"> </span><span style=3D"color:rgb(0,136,0)">&lt;limits&gt;</span><span st=
yle=3D"color:rgb(0,0,0)"><br></span><span style=3D"color:rgb(136,0,0)">#inc=
lude</span><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rg=
b(0,136,0)">&lt;memory&gt;</span><span style=3D"color:rgb(0,0,0)"><br></spa=
n><span style=3D"color:rgb(136,0,0)">#include</span><span style=3D"color:rg=
b(0,0,0)"> </span><span style=3D"color:rgb(0,136,0)">&lt;random&gt;</span><=
span style=3D"color:rgb(0,0,0)"><br></span><span style=3D"color:rgb(136,0,0=
)">#include</span><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"c=
olor:rgb(0,136,0)">&lt;string&gt;</span><span style=3D"color:rgb(0,0,0)"><b=
r></span><span style=3D"color:rgb(136,0,0)">#include</span><span style=3D"c=
olor:rgb(0,0,0)"> </span><span style=3D"color:rgb(0,136,0)">&lt;vector&gt;<=
/span></div></code></div><div><br></div></div><div>I though about this when=
 opening a file with around 30 #include statement.=C2=A0 =C2=A0With the fil=
e header, empty line, the editor with it&#39;s 55 viable line showed me not=
hing of substance.=C2=A0 Maybe a simpler solution would be the editor to su=
pport folding of that piece of code. Unfortunately the one I used does not.=
</div><div><br></div><div>For fun I tried the following code, but readabili=
ty went down the drain. The 2 code formater I use did not expected that usa=
ge though ;-)=C2=A0=C2=A0</div><div><br></div><div><div style=3D"border:1px=
 solid rgb(187,187,187);background-color:rgb(250,250,250)"><code><div><span=
 style=3D"color:rgb(136,0,0)">#include</span><span style=3D"color:rgb(0,0,0=
)"> </span><span style=3D"color:rgb(0,136,0)">&lt;algorithm&gt;</span><span=
 style=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rgb(136,0,0)">#inc=
lude</span><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rg=
b(0,136,0)">&lt;array&gt;</span><span style=3D"color:rgb(0,0,0)"> </span><s=
pan style=3D"color:rgb(136,0,0)">#include</span><span style=3D"color:rgb(0,=
0,0)"> </span><span style=3D"color:rgb(0,136,0)">&lt;cstdint&gt;</span><spa=
n style=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rgb(136,0,0)">#in=
clude</span><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"color:r=
gb(0,136,0)">&lt;functional&gt;</span><span style=3D"color:rgb(0,0,0)"> </s=
pan><span style=3D"color:rgb(136,0,0)">#include</span><span style=3D"color:=
rgb(0,0,0)"> </span><span style=3D"color:rgb(0,136,0)">&lt;iostream&gt;</sp=
an><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rgb(136,0,=
0)">#include</span><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"=
color:rgb(0,136,0)">&lt;limits&gt;</span><span style=3D"color:rgb(0,0,0)"><=
br></span><span style=3D"color:rgb(136,0,0)">#include</span><span style=3D"=
color:rgb(0,0,0)"> </span><span style=3D"color:rgb(0,136,0)">&lt;memory&gt;=
</span><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rgb(13=
6,0,0)">#include</span><span style=3D"color:rgb(0,0,0)"> </span><span style=
=3D"color:rgb(0,136,0)">&lt;random&gt;</span><span style=3D"color:rgb(0,0,0=
)"> </span><span style=3D"color:rgb(136,0,0)">#include</span><span style=3D=
"color:rgb(0,0,0)"> </span><span style=3D"color:rgb(0,136,0)">&lt;string&gt=
;</span><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"color:rgb(1=
36,0,0)">#include</span><span style=3D"color:rgb(0,0,0)"> </span><span styl=
e=3D"color:rgb(0,136,0)">&lt;vector&gt;</span></div></code></div><div><br><=
/div></div><div><br></div><div>Does that make any sense ?</div><div><br></d=
iv><div>Regards,</div><div><br></div><div>- Mario</div></div></blockquote><=
/div></div></div><div><div class=3D"h5">

<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@<wbr>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></div></div>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/56477ac8-020a-4c21-9d6e-a9cb4f70cdd3%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank">=
https://groups.google.com/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/5647=
7ac8-020a-4c21-<wbr>9d6e-a9cb4f70cdd3%40isocpp.org</a><wbr>.<br>
</blockquote></div><br></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/CALvx3hbhLBamxdwSEq%3DFY3C5%2BTiuD6r-=
ogLasZ2EGxV4dn2KOw%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CALvx3hbhLBam=
xdwSEq%3DFY3C5%2BTiuD6r-ogLasZ2EGxV4dn2KOw%40mail.gmail.com</a>.<br />

--f403045fc23c25053b0566e70c49--

.


Author: Barry Revzin <barry.revzin@gmail.com>
Date: Sun, 11 Mar 2018 04:24:10 -0700 (PDT)
Raw View
------=_Part_11039_964755423.1520767450940
Content-Type: text/plain; charset="UTF-8"

Python allows you to have multiple imports on a single line, as you're proposing here.

Python's style guide, PEP-8, says not to do it and to use one import per line: https://www.python.org/dev/peps/pep-0008/#imports

--
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/32ae2dd9-e59e-4c91-bdb2-308ede3f731a%40isocpp.org.

------=_Part_11039_964755423.1520767450940--

.


Author: Larry Evans <cppljevans@suddenlink.net>
Date: Sun, 11 Mar 2018 08:55:00 -0500
Raw View
On 03/11/2018 06:24 AM, Barry Revzin wrote:
> Python allows you to have multiple imports on a single line, as you're proposing here.
>
> Python's style guide, PEP-8, says not to do it and to use one import per line: https://www.python.org/dev/peps/pep-0008/#imports
>
Doesn't this style of using one import per line violate the DRY principle:

https://en.wikipedia.org/wiki/Don%27t_repeat_yourself

For example:

   import os
   import sys

although following the PEP-8 guide, violates DRY because 'import' is
repeated.

The same PEP-8 guide, when applied to declarations would say:

   int a_scalar, *a_ptr, a_vec[5];

should be:

   int a_scalar;
   int *a_ptr;
   int a_vec[5];

which, again, violates DRY.

So, whichever way is decided, there should be uniform guides:

   Either:
     one XXX per line;
       //violates DRY, but satisfies something like PEP-8.
   Or:
     multiple XXX's per line;
       //to satisfy DRY, but violates PEP-8.
   Where:
     XXX can be any of:
       * c++ #include's
       * c++ Declarations
       * python imports.

To me, although it violates DRY, the `one XXX per line` guide
clarifies code.

--
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/p838m8%24cae%241%40blaine.gmane.org.

.


Author: Todd Fleming <tbfleming@gmail.com>
Date: Sun, 11 Mar 2018 07:34:42 -0700 (PDT)
Raw View
------=_Part_11551_1052314556.1520778882157
Content-Type: multipart/alternative;
 boundary="----=_Part_11552_687545675.1520778882157"

------=_Part_11552_687545675.1520778882157
Content-Type: text/plain; charset="UTF-8"


On Sunday, March 11, 2018 at 8:52:34 AM UTC-4, Larry Evans wrote:
>
> On 03/11/2018 06:24 AM, Barry Revzin wrote:
> > Python allows you to have multiple imports on a single line, as you're
> proposing here.
> >
> > Python's style guide, PEP-8, says not to do it and to use one import per
> line: https://www.python.org/dev/peps/pep-0008/#imports
> >
> Doesn't this style of using one import per line violate the DRY principle:
>
> https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
>
> For example:
>
>    import os
>    import sys
>

If that's DRY, then DRY is unusable:

f(a,b);
....
f(c,d); // oops.We should never call f() anywhere else because DRY.

--
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/3de2a91c-7917-457a-bfc6-7f79e2b487dd%40isocpp.org.

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

<div dir=3D"ltr"><br>On Sunday, March 11, 2018 at 8:52:34 AM UTC-4, Larry E=
vans wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left=
: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On 03/11/2018 06:24=
 AM, Barry Revzin wrote:
<br>&gt; Python allows you to have multiple imports on a single line, as yo=
u&#39;re proposing here.
<br>&gt;=20
<br>&gt; Python&#39;s style guide, PEP-8, says not to do it and to use one =
import per line: <a href=3D"https://www.python.org/dev/peps/pep-0008/#impor=
ts" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;http=
s://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.python.org%2Fdev%2Fpeps%2Fpep=
-0008%2F%23imports\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGSxtVTDFGjLQxD8z=
fdWxIXdy49xQ&#39;;return true;" onclick=3D"this.href=3D&#39;https://www.goo=
gle.com/url?q\x3dhttps%3A%2F%2Fwww.python.org%2Fdev%2Fpeps%2Fpep-0008%2F%23=
imports\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGSxtVTDFGjLQxD8zfdWxIXdy49x=
Q&#39;;return true;">https://www.python.org/dev/<wbr>peps/pep-0008/#imports=
</a>
<br>&gt;=20
<br>Doesn&#39;t this style of using one import per line violate the DRY pri=
nciple:
<br>
<br><a href=3D"https://en.wikipedia.org/wiki/Don%27t_repeat_yourself" targe=
t=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;https://www.g=
oogle.com/url?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDon%2527t_repeat=
_yourself\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGNSofze2ZUb7fX2AIR19oHZ70=
ZXw&#39;;return true;" onclick=3D"this.href=3D&#39;https://www.google.com/u=
rl?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDon%2527t_repeat_yourself\x=
26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGNSofze2ZUb7fX2AIR19oHZ70ZXw&#39;;re=
turn true;">https://en.wikipedia.org/wiki/<wbr>Don%27t_repeat_yourself</a>
<br>
<br>For example:
<br>
<br>=C2=A0 =C2=A0import os
<br>=C2=A0 =C2=A0import sys
<br></blockquote><div><br></div><div>If that&#39;s DRY, then DRY is unusabl=
e:</div><div><br></div><div><div class=3D"prettyprint" style=3D"background-=
color: rgb(250, 250, 250); border-color: rgb(187, 187, 187); border-style: =
solid; border-width: 1px; word-wrap: break-word;"><code class=3D"prettyprin=
t"><div class=3D"subprettyprint"><font color=3D"#660066"><span style=3D"col=
or: #000;" class=3D"styled-by-prettify">f</span><span style=3D"color: #660;=
" class=3D"styled-by-prettify">(</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify">a</span><span style=3D"color: #660;" class=3D"style=
d-by-prettify">,</span><span style=3D"color: #000;" class=3D"styled-by-pret=
tify">b</span><span style=3D"color: #660;" class=3D"styled-by-prettify">);<=
/span><span style=3D"color: #000;" class=3D"styled-by-prettify"><br></span>=
<span style=3D"color: #660;" class=3D"styled-by-prettify">...</span><span s=
tyle=3D"color: #000;" class=3D"styled-by-prettify"><br>f</span><span style=
=3D"color: #660;" class=3D"styled-by-prettify">(</span><span style=3D"color=
: #000;" class=3D"styled-by-prettify">c</span><span style=3D"color: #660;" =
class=3D"styled-by-prettify">,</span><span style=3D"color: #000;" class=3D"=
styled-by-prettify">d</span><span style=3D"color: #660;" class=3D"styled-by=
-prettify">);</span><span style=3D"color: #000;" class=3D"styled-by-prettif=
y"> </span><span style=3D"color: #800;" class=3D"styled-by-prettify">// oop=
s.</span></font><span style=3D"background-color: rgb(255, 255, 255); font-f=
amily: Arial, Helvetica, sans-serif;"><span style=3D"color: #800;" class=3D=
"styled-by-prettify">We should never call f() </span><span style=3D"color: =
#800;" class=3D"styled-by-prettify">anywhere else because DRY.</span></span=
></div></code></div><br></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/3de2a91c-7917-457a-bfc6-7f79e2b487dd%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/3de2a91c-7917-457a-bfc6-7f79e2b487dd=
%40isocpp.org</a>.<br />

------=_Part_11552_687545675.1520778882157--

------=_Part_11551_1052314556.1520778882157--

.


Author: j c <james.a.cooper@gmail.com>
Date: Sun, 11 Mar 2018 16:40:09 +0000
Raw View
--000000000000c73f3f056725ad35
Content-Type: text/plain; charset="UTF-8"

On Sunday, March 11, 2018, Todd Fleming <tbfleming@gmail.com> wrote:

>
> On Sunday, March 11, 2018 at 8:52:34 AM UTC-4, Larry Evans wrote:
>>
>> On 03/11/2018 06:24 AM, Barry Revzin wrote:
>> > Python allows you to have multiple imports on a single line, as you're
>> proposing here.
>> >
>> > Python's style guide, PEP-8, says not to do it and to use one import
>> per line: https://www.python.org/dev/peps/pep-0008/#imports
>> >
>> Doesn't this style of using one import per line violate the DRY
>> principle:
>>
>> https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
>>
>> For example:
>>
>>    import os
>>    import sys
>>
>
> If that's DRY, then DRY is unusable:
>
> f(a,b);
> ...
> f(c,d); // oops.We should never call f() anywhere else because DRY.
>
>
Hear hear

--
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/CAFQaeCC159LTJbbRsXqYeuGpTgS8kxfW1nZMZ97J5yLveqgumw%40mail.gmail.com.

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

<br><br>On Sunday, March 11, 2018, Todd Fleming &lt;<a href=3D"mailto:tbfle=
ming@gmail.com">tbfleming@gmail.com</a>&gt; wrote:<br><blockquote class=3D"=
gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-=
left:1ex"><div dir=3D"ltr"><br>On Sunday, March 11, 2018 at 8:52:34 AM UTC-=
4, Larry Evans wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0;ma=
rgin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">On 03/11/2018 =
06:24 AM, Barry Revzin wrote:
<br>&gt; Python allows you to have multiple imports on a single line, as yo=
u&#39;re proposing here.
<br>&gt;=20
<br>&gt; Python&#39;s style guide, PEP-8, says not to do it and to use one =
import per line: <a href=3D"https://www.python.org/dev/peps/pep-0008/#impor=
ts" rel=3D"nofollow" target=3D"_blank">https://www.python.org/dev/pep<wbr>s=
/pep-0008/#imports</a>
<br>&gt;=20
<br>Doesn&#39;t this style of using one import per line violate the DRY pri=
nciple:
<br>
<br><a href=3D"https://en.wikipedia.org/wiki/Don%27t_repeat_yourself" rel=
=3D"nofollow" target=3D"_blank">https://en.wikipedia.org/wiki/<wbr>Don%27t_=
repeat_yourself</a>
<br>
<br>For example:
<br>
<br>=C2=A0 =C2=A0import os
<br>=C2=A0 =C2=A0import sys
<br></blockquote><div><br></div><div>If that&#39;s DRY, then DRY is unusabl=
e:</div><div><br></div><div><div style=3D"background-color:rgb(250,250,250)=
;border-color:rgb(187,187,187);border-style:solid;border-width:1px;word-wra=
p:break-word"><code><div><font color=3D"#660066"><span style=3D"color:#000"=
>f</span><span style=3D"color:#660">(</span><span style=3D"color:#000">a</s=
pan><span style=3D"color:#660">,</span><span style=3D"color:#000">b</span><=
span style=3D"color:#660">);</span><span style=3D"color:#000"><br></span><s=
pan style=3D"color:#660">...</span><span style=3D"color:#000"><br>f</span><=
span style=3D"color:#660">(</span><span style=3D"color:#000">c</span><span =
style=3D"color:#660">,</span><span style=3D"color:#000">d</span><span style=
=3D"color:#660">);</span><span style=3D"color:#000"> </span><span style=3D"=
color:#800">// oops.</span></font><span style=3D"background-color:rgb(255,2=
55,255);font-family:Arial,Helvetica,sans-serif"><span style=3D"color:#800">=
We should never call f() </span><span style=3D"color:#800">anywhere else be=
cause DRY.</span></span></div></code></div></div></div><br>
</blockquote><div><br></div><div>Hear hear=C2=A0</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/CAFQaeCC159LTJbbRsXqYeuGpTgS8kxfW1nZM=
Z97J5yLveqgumw%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">htt=
ps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAFQaeCC159LTJbbR=
sXqYeuGpTgS8kxfW1nZMZ97J5yLveqgumw%40mail.gmail.com</a>.<br />

--000000000000c73f3f056725ad35--

.


Author: Larry Evans <cppljevans@suddenlink.net>
Date: Sun, 11 Mar 2018 13:15:11 -0500
Raw View
On 03/11/2018 11:40 AM, j c wrote:
> On Sunday, March 11, 2018, Todd Fleming <tbfleming@gmail.com> wrote:
>
>>
>> On Sunday, March 11, 2018 at 8:52:34 AM UTC-4, Larry Evans wrote:
>>>
>>> On 03/11/2018 06:24 AM, Barry Revzin wrote:
>>>> Python allows you to have multiple imports on a single line, as you're
>>> proposing here.
>>>>
>>>> Python's style guide, PEP-8, says not to do it and to use one import
>>> per line: https://www.python.org/dev/peps/pep-0008/#imports
>>>>
>>> Doesn't this style of using one import per line violate the DRY
>>> principle:
>>>
>>> https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
>>>
>>> For example:
>>>
>>>     import os
>>>     import sys
>>>
>>
>> If that's DRY, then DRY is unusable:
>>
>> f(a,b);
>> ...
>> f(c,d); // oops.We should never call f() anywhere else because DRY.
>>
>>
> Hear hear
>
OK, to be more explicit:

There's no *semantic* difference between:

   import os
   import sys

and:

   import os,sys

but there *is* a semantic difference between:

   f(a);
   ...
   f(b);

and:

   f(a),(b);
   ...

which isn't even legal.

Thus:

   f(a);
   ...
   f(b);

is *not* violating DRY.





--
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/p83nu3%24ifd%241%40blaine.gmane.org.

.


Author: Todd Fleming <tbfleming@gmail.com>
Date: Sun, 11 Mar 2018 10:20:41 -0700 (PDT)
Raw View
------=_Part_11773_1167392775.1520788841333
Content-Type: multipart/alternative;
 boundary="----=_Part_11774_1963839074.1520788841333"

------=_Part_11774_1963839074.1520788841333
Content-Type: text/plain; charset="UTF-8"

On Sunday, March 11, 2018 at 1:12:48 PM UTC-4, Larry Evans wrote:
>
> OK, to be more explicit:
>
> There's no *semantic* difference between:
>
>    import os
>    import sys
>
> and:
>
>    import os,sys
>
>
Python has a very unique culture, one that values DRY more than any
community I'm aware of. Yet the Python community, the high priests of DRY,
don't buy your argument.


--
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/fac8564e-5840-4c74-b645-18ad6cd14688%40isocpp.org.

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

<div dir=3D"ltr">On Sunday, March 11, 2018 at 1:12:48 PM UTC-4, Larry Evans=
 wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.=
8ex;border-left: 1px #ccc solid;padding-left: 1ex;">OK, to be more explicit=
:
<br>
<br>There&#39;s no *semantic* difference between:
<br>
<br>=C2=A0 =C2=A0import os
<br>=C2=A0 =C2=A0import sys
<br>
<br>and:
<br>
<br>=C2=A0 =C2=A0import os,sys
<br><br></blockquote><div><br></div><div>Python has a very unique culture, =
one that values DRY more than any community I&#39;m aware of. Yet the Pytho=
n community, the high priests of DRY, don&#39;t buy your argument.</div><di=
v>=C2=A0</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/fac8564e-5840-4c74-b645-18ad6cd14688%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/fac8564e-5840-4c74-b645-18ad6cd14688=
%40isocpp.org</a>.<br />

------=_Part_11774_1963839074.1520788841333--

------=_Part_11773_1167392775.1520788841333--

.


Author: Larry Evans <cppljevans@suddenlink.net>
Date: Sun, 11 Mar 2018 13:47:20 -0500
Raw View
On 03/11/2018 12:20 PM, Todd Fleming wrote:
> On Sunday, March 11, 2018 at 1:12:48 PM UTC-4, Larry Evans wrote:
>>
>> OK, to be more explicit:
>>
>> There's no *semantic* difference between:
>>
>>     import os
>>     import sys
>>
>> and:
>>
>>     import os,sys
>>
>>
> Python has a very unique culture, one that values DRY more than any
> community I'm aware of. Yet the Python community, the high priests of DRY,
> don't buy your argument.
>
>
You're misunderstanding my viewpoint.  My OP said:

   To me, although it violates DRY, the `one XXX per line` guide
   clarifies code.

Thus I was *advocating* the "one XXX per line":

   import os
   import sys

I mentioned the DRY principle *solely* to provide a possible
justification for the "multiple XXX per line":

   import os,sys

method.  Personally, I find the "multiple XXX per line":

   SomeType a_scalar, *a_ptr, a_vec[5];

more obscure, but that's what's allowed by current c and c++.
I assume the K&R allowed that to save typing and *some* people
*would* use the DRY argument in favor of "multiple XXX per line"
versus the "one XXX per line":

   SomeType a_scalar;
   SomeType *a_ptr;
   SomeType a_vec[5];

Again, I'm not advocating "multiple XXX per line", I'm just
saying it could be used by *some* (not me) people.

Hope that clarifies my position.

-regards,
Larry


--
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/p83pqc%249fi%241%40blaine.gmane.org.

.


Author: Todd Fleming <tbfleming@gmail.com>
Date: Sun, 11 Mar 2018 10:55:55 -0700 (PDT)
Raw View
------=_Part_2346_1785699617.1520790955832
Content-Type: multipart/alternative;
 boundary="----=_Part_2347_2022099027.1520790955832"

------=_Part_2347_2022099027.1520790955832
Content-Type: text/plain; charset="UTF-8"

On Sunday, March 11, 2018 at 1:44:55 PM UTC-4, Larry Evans wrote:
>
> On 03/11/2018 12:20 PM, Todd Fleming wrote:
> > On Sunday, March 11, 2018 at 1:12:48 PM UTC-4, Larry Evans wrote:
> >>
> >> OK, to be more explicit:
> >>
> >> There's no *semantic* difference between:
> >>
> >>     import os
> >>     import sys
> >>
> >> and:
> >>
> >>     import os,sys
> >>
> >>
> > Python has a very unique culture, one that values DRY more than any
> > community I'm aware of. Yet the Python community, the high priests of
> DRY,
> > don't buy your argument.
> >
> >
> You're misunderstanding my viewpoint.  My OP said:
>
>    To me, although it violates DRY, the `one XXX per line` guide
>    clarifies code.
>
> Thus I was *advocating* the "one XXX per line":
>
>    import os
>    import sys
>
> I mentioned the DRY principle *solely* to provide a possible
> justification for the "multiple XXX per line":
>
>    import os,sys
>
> method.  Personally, I find the "multiple XXX per line":
>
>    SomeType a_scalar, *a_ptr, a_vec[5];
>
> more obscure, but that's what's allowed by current c and c++.
> I assume the K&R allowed that to save typing and *some* people
> *would* use the DRY argument in favor of "multiple XXX per line"
> versus the "one XXX per line":
>
>    SomeType a_scalar;
>    SomeType *a_ptr;
>    SomeType a_vec[5];
>
> Again, I'm not advocating "multiple XXX per line", I'm just
> saying it could be used by *some* (not me) people.
>
> Hope that clarifies my position.
>
> -regards,
> Larry
>
>
It does clarify.

Yes, the SomeType example is more obscure; a lot of coding standards
documents rightly ban it. Now if I could just force myself to stop doing
that on occasion out of laziness...

Todd

--
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/a05a1b64-ba29-45d4-9302-83efb0e9b98c%40isocpp.org.

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

<div dir=3D"ltr">On Sunday, March 11, 2018 at 1:44:55 PM UTC-4, Larry Evans=
 wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.=
8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On 03/11/2018 12:20 PM,=
 Todd Fleming wrote:
<br>&gt; On Sunday, March 11, 2018 at 1:12:48 PM UTC-4, Larry Evans wrote:
<br>&gt;&gt;
<br>&gt;&gt; OK, to be more explicit:
<br>&gt;&gt;
<br>&gt;&gt; There&#39;s no *semantic* difference between:
<br>&gt;&gt;
<br>&gt;&gt; =C2=A0 =C2=A0 import os
<br>&gt;&gt; =C2=A0 =C2=A0 import sys
<br>&gt;&gt;
<br>&gt;&gt; and:
<br>&gt;&gt;
<br>&gt;&gt; =C2=A0 =C2=A0 import os,sys
<br>&gt;&gt;
<br>&gt;&gt;
<br>&gt; Python has a very unique culture, one that values DRY more than an=
y
<br>&gt; community I&#39;m aware of. Yet the Python community, the high pri=
ests of DRY,
<br>&gt; don&#39;t buy your argument.
<br>&gt; =C2=A0=20
<br>&gt;=20
<br>You&#39;re misunderstanding my viewpoint. =C2=A0My OP said:
<br>
<br>=C2=A0 =C2=A0To me, although it violates DRY, the `one XXX per line` gu=
ide
<br>=C2=A0 =C2=A0clarifies code.
<br>
<br>Thus I was *advocating* the &quot;one XXX per line&quot;:
<br>
<br>=C2=A0 =C2=A0import os
<br>=C2=A0 =C2=A0import sys
<br>
<br>I mentioned the DRY principle *solely* to provide a possible
<br>justification for the &quot;multiple XXX per line&quot;:
<br>
<br>=C2=A0 =C2=A0import os,sys
<br>
<br>method. =C2=A0Personally, I find the &quot;multiple XXX per line&quot;:
<br>
<br>=C2=A0 =C2=A0SomeType a_scalar, *a_ptr, a_vec[5];
<br>
<br>more obscure, but that&#39;s what&#39;s allowed by current c and c++.
<br>I assume the K&amp;R allowed that to save typing and *some* people
<br>*would* use the DRY argument in favor of &quot;multiple XXX per line&qu=
ot;
<br>versus the &quot;one XXX per line&quot;:
<br>
<br>=C2=A0 =C2=A0SomeType a_scalar;
<br>=C2=A0 =C2=A0SomeType *a_ptr;
<br>=C2=A0 =C2=A0SomeType a_vec[5];
<br>
<br>Again, I&#39;m not advocating &quot;multiple XXX per line&quot;, I&#39;=
m just
<br>saying it could be used by *some* (not me) people.
<br>
<br>Hope that clarifies my position.
<br>
<br>-regards,
<br>Larry
<br><br></blockquote><div><br></div><div>It does clarify.</div><div><br></d=
iv><div>Yes, the SomeType example is more obscure; a lot of coding standard=
s documents rightly ban it. Now if I could just force myself to stop doing =
that on occasion out of laziness...</div><div><br></div><div>Todd</div><div=
><br></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/a05a1b64-ba29-45d4-9302-83efb0e9b98c%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/a05a1b64-ba29-45d4-9302-83efb0e9b98c=
%40isocpp.org</a>.<br />

------=_Part_2347_2022099027.1520790955832--

------=_Part_2346_1785699617.1520790955832--

.


Author: inkwizytoryankes@gmail.com
Date: Sun, 11 Mar 2018 11:16:09 -0700 (PDT)
Raw View
------=_Part_12038_1694521366.1520792169724
Content-Type: multipart/alternative;
 boundary="----=_Part_12039_1094802361.1520792169724"

------=_Part_12039_1094802361.1520792169724
Content-Type: text/plain; charset="UTF-8"



On Sunday, March 11, 2018 at 6:12:48 PM UTC+1, Larry Evans wrote:
>
> On 03/11/2018 11:40 AM, j c wrote:
> > On Sunday, March 11, 2018, Todd Fleming <tbfl...@gmail.com <javascript:>>
> wrote:
> >
> >>
> >> On Sunday, March 11, 2018 at 8:52:34 AM UTC-4, Larry Evans wrote:
> >>>
> >>> On 03/11/2018 06:24 AM, Barry Revzin wrote:
> >>>> Python allows you to have multiple imports on a single line, as
> you're
> >>> proposing here.
> >>>>
> >>>> Python's style guide, PEP-8, says not to do it and to use one import
> >>> per line: https://www.python.org/dev/peps/pep-0008/#imports
> >>>>
> >>> Doesn't this style of using one import per line violate the DRY
> >>> principle:
> >>>
> >>> https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
> >>>
> >>> For example:
> >>>
> >>>     import os
> >>>     import sys
> >>>
> >>
> >> If that's DRY, then DRY is unusable:
> >>
> >> f(a,b);
> >> ...
> >> f(c,d); // oops.We should never call f() anywhere else because DRY.
> >>
> >>
> > Hear hear
> >
> OK, to be more explicit:
>
> There's no *semantic* difference between:
>
>    import os
>    import sys
>
> and:
>
>    import os,sys
>
> but there *is* a semantic difference between:
>
>    f(a);
>    ...
>    f(b);
>
> and:
>
>    f(a),(b);
>    ...
>
> which isn't even legal.
>
> Thus:
>
>    f(a);
>    ...
>    f(b);
>
> is *not* violating DRY.
>
>
>
>
>
>

but `import` is keyword, if we replace it by `!` then:
!sys
!os


Do repeating anything? No.

Volition of DRY would be when you write:
!sys
!sys

BTW How do you want write any thing using C++ templates? You need repeat
multiple times `typename` and `template`.

In reality only true place where include/import have truly violate DRY
principle is when you write:
include sys
include os
include foo
include bar

in multiple DIFFERENT files. If it only exists in one file this is fully
conforming, at least for me.
Each line do one independent thing from rest of lines.

Another similar thing:
call sys;
call os;
call foo;
call bar;

Is this violate DRY? different meaning and keyword but same structure.

I understand DRY as: "do not repeat things that can change", therefore
`include` or `call` do not fall under it because they do not change at all,
they part of syntax.

--
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/028bfc07-6301-4df6-a7e0-7b2470050b21%40isocpp.org.

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

<div dir=3D"ltr"><br><br>On Sunday, March 11, 2018 at 6:12:48 PM UTC+1, Lar=
ry Evans wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-=
left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On 03/11/2018 1=
1:40 AM, j c wrote:
<br>&gt; On Sunday, March 11, 2018, Todd Fleming &lt;<a href=3D"javascript:=
" target=3D"_blank" gdf-obfuscated-mailto=3D"_cMdCIGRAAAJ" rel=3D"nofollow"=
 onmousedown=3D"this.href=3D&#39;javascript:&#39;;return true;" onclick=3D"=
this.href=3D&#39;javascript:&#39;;return true;">tbfl...@gmail.com</a>&gt; w=
rote:
<br>&gt;=20
<br>&gt;&gt;
<br>&gt;&gt; On Sunday, March 11, 2018 at 8:52:34 AM UTC-4, Larry Evans wro=
te:
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; On 03/11/2018 06:24 AM, Barry Revzin wrote:
<br>&gt;&gt;&gt;&gt; Python allows you to have multiple imports on a single=
 line, as you&#39;re
<br>&gt;&gt;&gt; proposing here.
<br>&gt;&gt;&gt;&gt;
<br>&gt;&gt;&gt;&gt; Python&#39;s style guide, PEP-8, says not to do it and=
 to use one import
<br>&gt;&gt;&gt; per line: <a href=3D"https://www.python.org/dev/peps/pep-0=
008/#imports" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=
=3D&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.python.org%2Fdev%=
2Fpeps%2Fpep-0008%2F%23imports\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGSxt=
VTDFGjLQxD8zfdWxIXdy49xQ&#39;;return true;" onclick=3D"this.href=3D&#39;htt=
ps://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.python.org%2Fdev%2Fpeps%2Fpe=
p-0008%2F%23imports\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGSxtVTDFGjLQxD8=
zfdWxIXdy49xQ&#39;;return true;">https://www.python.org/dev/<wbr>peps/pep-0=
008/#imports</a>
<br>&gt;&gt;&gt;&gt;
<br>&gt;&gt;&gt; Doesn&#39;t this style of using one import per line violat=
e the DRY
<br>&gt;&gt;&gt; principle:
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; <a href=3D"https://en.wikipedia.org/wiki/Don%27t_repeat_yo=
urself" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;=
https://www.google.com/url?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDon=
%2527t_repeat_yourself\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGNSofze2ZUb7=
fX2AIR19oHZ70ZXw&#39;;return true;" onclick=3D"this.href=3D&#39;https://www=
..google.com/url?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDon%2527t_repe=
at_yourself\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGNSofze2ZUb7fX2AIR19oHZ=
70ZXw&#39;;return true;">https://en.wikipedia.org/wiki/<wbr>Don%27t_repeat_=
yourself</a>
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; For example:
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; =C2=A0 =C2=A0 import os
<br>&gt;&gt;&gt; =C2=A0 =C2=A0 import sys
<br>&gt;&gt;&gt;
<br>&gt;&gt;
<br>&gt;&gt; If that&#39;s DRY, then DRY is unusable:
<br>&gt;&gt;
<br>&gt;&gt; f(a,b);
<br>&gt;&gt; ...
<br>&gt;&gt; f(c,d); // oops.We should never call f() anywhere else because=
 DRY.
<br>&gt;&gt;
<br>&gt;&gt;
<br>&gt; Hear hear
<br>&gt;=20
<br>OK, to be more explicit:
<br>
<br>There&#39;s no *semantic* difference between:
<br>
<br>=C2=A0 =C2=A0import os
<br>=C2=A0 =C2=A0import sys
<br>
<br>and:
<br>
<br>=C2=A0 =C2=A0import os,sys
<br>
<br>but there *is* a semantic difference between:
<br>
<br>=C2=A0 =C2=A0f(a);
<br>=C2=A0 =C2=A0...
<br>=C2=A0 =C2=A0f(b);
<br>
<br>and:
<br>
<br>=C2=A0 =C2=A0f(a),(b);
<br>=C2=A0 =C2=A0...
<br>
<br>which isn&#39;t even legal.
<br>
<br>Thus:
<br>
<br>=C2=A0 =C2=A0f(a);
<br>=C2=A0 =C2=A0...
<br>=C2=A0 =C2=A0f(b);
<br>
<br>is *not* violating DRY.
<br>
<br>
<br>
<br>
<br>
<br></blockquote><div><br><br>but `import` is keyword, if we replace it by =
`!` then:<br><div style=3D"background-color: rgb(250, 250, 250); border-col=
or: rgb(187, 187, 187); border-style: solid; border-width: 1px; overflow-wr=
ap: break-word;" class=3D"prettyprint"><code class=3D"prettyprint"><div cla=
ss=3D"subprettyprint"><span style=3D"color: #660;" class=3D"styled-by-prett=
ify">!</span><span style=3D"color: #000;" class=3D"styled-by-prettify">sys<=
br></span><span style=3D"color: #660;" class=3D"styled-by-prettify">!</span=
><span style=3D"color: #000;" class=3D"styled-by-prettify">os</span></div><=
/code></div><br><br>Do repeating anything? No.<br><br>Volition of DRY would=
 be when you write:<br><div style=3D"background-color: rgb(250, 250, 250); =
border-color: rgb(187, 187, 187); border-style: solid; border-width: 1px; o=
verflow-wrap: break-word;" class=3D"prettyprint"><code class=3D"prettyprint=
"><div class=3D"subprettyprint"><span style=3D"color: #660;" class=3D"style=
d-by-prettify">!</span><span style=3D"color: #000;" class=3D"styled-by-pret=
tify">sys<br></span><span style=3D"color: #660;" class=3D"styled-by-prettif=
y">!</span><span style=3D"color: #000;" class=3D"styled-by-prettify">sys</s=
pan></div></code></div><br>BTW How do you want write any thing using C++ te=
mplates? You need repeat multiple times `typename` and `template`.<br><br>I=
n reality only true place where include/import have truly violate DRY princ=
iple is when you write:<br><div style=3D"background-color: rgb(250, 250, 25=
0); border-color: rgb(187, 187, 187); border-style: solid; border-width: 1p=
x; overflow-wrap: break-word;" class=3D"prettyprint"><code class=3D"prettyp=
rint"><div class=3D"subprettyprint"><span style=3D"color: #000;" class=3D"s=
tyled-by-prettify">include sys<br>include os<br>include foo<br>include bar<=
/span></div></code></div><br>in multiple DIFFERENT files. If it only exists=
 in one file this is fully conforming, at least for me.<br>Each line do one=
 independent thing from rest of lines.<br><br>Another similar thing:<br><di=
v style=3D"background-color: rgb(250, 250, 250); border-color: rgb(187, 187=
, 187); border-style: solid; border-width: 1px; overflow-wrap: break-word;"=
 class=3D"prettyprint"><code class=3D"prettyprint"><div class=3D"subprettyp=
rint"><span style=3D"color: #000;" class=3D"styled-by-prettify">call sys</s=
pan><span style=3D"color: #660;" class=3D"styled-by-prettify">;</span><span=
 style=3D"color: #000;" class=3D"styled-by-prettify"><br>call os</span><spa=
n style=3D"color: #660;" class=3D"styled-by-prettify">;</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"><br>call foo</span><span sty=
le=3D"color: #660;" class=3D"styled-by-prettify">;</span><span style=3D"col=
or: #000;" class=3D"styled-by-prettify"><br>call bar</span><span style=3D"c=
olor: #660;" class=3D"styled-by-prettify">;</span><span style=3D"color: #00=
0;" class=3D"styled-by-prettify"><br></span></div></code></div><br>Is this =
violate DRY? different meaning and keyword but same structure.<br><br>I und=
erstand DRY as: &quot;do not repeat things that can change&quot;, therefore=
 `include` or `call` do not fall under it because they do not change at all=
, they part of syntax.<br><br></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/028bfc07-6301-4df6-a7e0-7b2470050b21%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/028bfc07-6301-4df6-a7e0-7b2470050b21=
%40isocpp.org</a>.<br />

------=_Part_12039_1094802361.1520792169724--

------=_Part_12038_1694521366.1520792169724--

.


Author: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Date: Sun, 11 Mar 2018 19:41:03 +0100
Raw View
On Sun, Mar 11, 2018 at 7:47 PM, Larry Evans <cppljevans@suddenlink.net> wrote:
> On 03/11/2018 12:20 PM, Todd Fleming wrote:
>>
>> On Sunday, March 11, 2018 at 1:12:48 PM UTC-4, Larry Evans wrote:
>>>
>>>
>>> OK, to be more explicit:
>>>
>>> There's no *semantic* difference between:
>>>
>>>     import os
>>>     import sys
>>>
>>> and:
>>>
>>>     import os,sys
>>>
>>>
>> Python has a very unique culture, one that values DRY more than any
>> community I'm aware of. Yet the Python community, the high priests of DRY,
>> don't buy your argument.
>>
>
> You're misunderstanding my viewpoint.  My OP said:
>
>   To me, although it violates DRY, the `one XXX per line` guide
>   clarifies code.
>
> Thus I was *advocating* the "one XXX per line":
>
>   import os
>   import sys
>
> I mentioned the DRY principle *solely* to provide a possible
> justification for the "multiple XXX per line":
>
>   import os,sys
>
> method.  Personally, I find the "multiple XXX per line":
>
>   SomeType a_scalar, *a_ptr, a_vec[5];

I typically only find that style useful in the init statement of for
loops to declare a logically constant end variable in a for loop,
whenever one has to be sure it is not re-evaluated every iteration,
i.e:

    for (int i = 0, iEnd = get_size(); i < iEnd; ++i) { ... }

And even in that case, if it is anything non-trivial, I usually prefer
to just keep it in the previous line as a proper const variable. So
the only real benefit of the style is the lifetime reduction/scope
pollution for trivial cases.

For normal variable declarations, having only per line not only
improves readability (specially for complex types, i.e. C++), but also
allows you to have straightforward patches/diffs, i.e.:

    @@ -1,5 +1,6 @@
    #include <iostream>
    #include <map>
    +#include <sstream>
    #include <string>
    #include <vector>

vs.

    @@ -1,2 +1,2 @@
    -#include <iostream> <map> <string> <vector>
    +#include <iostream> <map> <sstream> <string> <vector>

Same applies for C/C++ #includes and Python imports.

Cheers,
Miguel

--
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/CANiq72%3DfF3%3DNRpKjGSF_BEu4sfDKxU_1kDe9e-%3DVTx%3DBZ6H%3DCA%40mail.gmail.com.

.