Topic: Adding more to_string overloads for collections
Author: Thiago Macieira <thiago@macieira.org>
Date: Sun, 26 Aug 2018 09:54:19 -0700
Raw View
On Sunday, 26 August 2018 06:04:25 PDT ericcurtin17@gmail.com wrote:
> template <typename T>
> string to_string(const vector<T>& val) {
> string ret = "{";
<snarky>
'{' is obviously the wrong choice here.
</snarky>
The problem is that you will not get people to agree on how you should format
the containers. Your output is not valid C++ code (missing quotes for the
string elements) nor is it valid JSON either.
What's more, to_string() is usually something that can be parsed back to the
original type. I don't think that's your intention.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Software Architect - Intel Open Source Technology Center
--
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/102410722.C4hNS6kher%40tjmaciei-mobl1.
.
Author: Thomas Deniffel <tdeniffel@gmail.com>
Date: Sun, 26 Aug 2018 23:50:34 +0200
Raw View
--000000000000e82c9e05745d994d
Content-Type: text/plain; charset="UTF-8"
I agree with Tiago. But calling the method 'debug_string' would prevent the
assumptions and describe the intent (I expect you want to use this for logs
and cout debugging?)
Thiago Macieira <thiago@macieira.org> schrieb am So., 26. Aug. 2018, 18:54:
> On Sunday, 26 August 2018 06:04:25 PDT ericcurtin17@gmail.com wrote:
> > template <typename T>
> > string to_string(const vector<T>& val) {
> > string ret = "{";
>
> <snarky>
> '{' is obviously the wrong choice here.
> </snarky>
>
> The problem is that you will not get people to agree on how you should
> format
> the containers. Your output is not valid C++ code (missing quotes for the
> string elements) nor is it valid JSON either.
>
> What's more, to_string() is usually something that can be parsed back to
> the
> original type. I don't think that's your intention.
>
> --
> Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
> Software Architect - Intel Open Source Technology Center
>
>
>
> --
> 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/102410722.C4hNS6kher%40tjmaciei-mobl1
> .
>
--
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/CAFGXciwEaJXhA5yj51SEYrjL9DsBMdvT6%2B%2B5K1eaoR2jLEAkdw%40mail.gmail.com.
--000000000000e82c9e05745d994d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"auto">I agree with Tiago. But calling the method 'debug_str=
ing' would prevent the assumptions and describe the intent (I expect yo=
u want to use this for logs and cout debugging?)</div><br><div class=3D"gma=
il_quote"><div dir=3D"ltr">Thiago Macieira <<a href=3D"mailto:thiago@mac=
ieira.org">thiago@macieira.org</a>> schrieb am So., 26. Aug. 2018, 18:54=
:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bor=
der-left:1px #ccc solid;padding-left:1ex">On Sunday, 26 August 2018 06:04:2=
5 PDT <a href=3D"mailto:ericcurtin17@gmail.com" target=3D"_blank" rel=3D"no=
referrer">ericcurtin17@gmail.com</a> wrote:<br>
> template <typename T><br>
> string to_string(const vector<T>& val) {<br>
>=C2=A0 =C2=A0string ret =3D "{";<br>
<br>
<snarky><br>
'{' is obviously the wrong choice here.<br>
</snarky><br>
<br>
The problem is that you will not get people to agree on how you should form=
at <br>
the containers. Your output is not valid C++ code (missing quotes for the <=
br>
string elements) nor is it valid JSON either.<br>
<br>
What's more, to_string() is usually something that can be parsed back t=
o the <br>
original type. I don't think that's your intention.<br>
<br>
-- <br>
Thiago Macieira - thiago (AT) <a href=3D"http://macieira.info" rel=3D"noref=
errer noreferrer" target=3D"_blank">macieira.info</a> - thiago (AT) <a href=
=3D"http://kde.org" rel=3D"noreferrer noreferrer" target=3D"_blank">kde.org=
</a><br>
=C2=A0 =C2=A0Software Architect - Intel Open Source Technology Center<br>
<br>
<br>
<br>
-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;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%2Bunsubscribe@isocpp.org" target=3D=
"_blank" rel=3D"noreferrer">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank" rel=3D"noreferrer">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/102410722.C4hNS6kher%40tjmaciei-mobl1=
" rel=3D"noreferrer noreferrer" target=3D"_blank">https://groups.google.com=
/a/isocpp.org/d/msgid/std-proposals/102410722.C4hNS6kher%40tjmaciei-mobl1</=
a>.<br>
</blockquote></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/CAFGXciwEaJXhA5yj51SEYrjL9DsBMdvT6%2B=
%2B5K1eaoR2jLEAkdw%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAFGXciwEaJXh=
A5yj51SEYrjL9DsBMdvT6%2B%2B5K1eaoR2jLEAkdw%40mail.gmail.com</a>.<br />
--000000000000e82c9e05745d994d--
.
Author: Thiago Macieira <thiago@macieira.org>
Date: Sun, 26 Aug 2018 22:22:36 -0700
Raw View
On Sunday, 26 August 2018 14:50:34 PDT Thomas Deniffel wrote:
> I agree with Tiago. But calling the method 'debug_string' would prevent the
> assumptions and describe the intent (I expect you want to use this for logs
> and cout debugging?)
Sure.
It would still cause a lot of discussion over what the exact output should be,
but it would remove the need to make it re-parseable by library functions.
When I changed QDebug's output of strings to escape all non-ASCII-printables,
lots of people complained. My rationale was that if I'm debugging, I want to
see, for example, zero-width characters and distinguish homographs, but a lot
of people were expecting readable strings. Of course, the *change* was a
problem, but it shows how people want different things.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Software Architect - Intel Open Source Technology Center
--
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/2018077.e7xZ4k24KE%40tjmaciei-mobl1.
.
Author: Richard Hodges <hodges.r@gmail.com>
Date: Mon, 27 Aug 2018 11:35:19 +0200
Raw View
--000000000000426cdd057467728b
Content-Type: text/plain; charset="UTF-8"
to_json(T const&) for every standard type would be incredibly useful. It
would have me having to write it in every single project.
On Mon, 27 Aug 2018 at 07:22, Thiago Macieira <thiago@macieira.org> wrote:
> On Sunday, 26 August 2018 14:50:34 PDT Thomas Deniffel wrote:
> > I agree with Tiago. But calling the method 'debug_string' would prevent
> the
> > assumptions and describe the intent (I expect you want to use this for
> logs
> > and cout debugging?)
>
> Sure.
>
> It would still cause a lot of discussion over what the exact output should
> be,
> but it would remove the need to make it re-parseable by library functions.
>
> When I changed QDebug's output of strings to escape all
> non-ASCII-printables,
> lots of people complained. My rationale was that if I'm debugging, I want
> to
> see, for example, zero-width characters and distinguish homographs, but a
> lot
> of people were expecting readable strings. Of course, the *change* was a
> problem, but it shows how people want different things.
>
> --
> Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
> Software Architect - Intel Open Source Technology Center
>
>
>
> --
> 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/2018077.e7xZ4k24KE%40tjmaciei-mobl1
> .
>
--
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/CALvx3hZwd1ss%3DSf1H-1EPca3E7%2BhrQkVnZuJPhO5wOS81BygNA%40mail.gmail.com.
--000000000000426cdd057467728b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">to_json(T const&) for every standard type would be inc=
redibly useful. It would have me having to write it in every single project=
..<div>=C2=A0</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr">On =
Mon, 27 Aug 2018 at 07:22, Thiago Macieira <<a href=3D"mailto:thiago@mac=
ieira.org">thiago@macieira.org</a>> wrote:<br></div><blockquote class=3D=
"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding=
-left:1ex">On Sunday, 26 August 2018 14:50:34 PDT Thomas Deniffel wrote:<br=
>
> I agree with Tiago. But calling the method 'debug_string' woul=
d prevent the<br>
> assumptions and describe the intent (I expect you want to use this for=
logs<br>
> and cout debugging?)<br>
<br>
Sure.<br>
<br>
It would still cause a lot of discussion over what the exact output should =
be, <br>
but it would remove the need to make it re-parseable by library functions.<=
br>
<br>
When I changed QDebug's output of strings to escape all non-ASCII-print=
ables, <br>
lots of people complained. My rationale was that if I'm debugging, I wa=
nt to <br>
see, for example, zero-width characters and distinguish homographs, but a l=
ot <br>
of people were expecting readable strings. Of course, the *change* was a <b=
r>
problem, but it shows how people want different things.<br>
<br>
-- <br>
Thiago Macieira - thiago (AT) <a href=3D"http://macieira.info" rel=3D"noref=
errer" target=3D"_blank">macieira.info</a> - thiago (AT) <a href=3D"http://=
kde.org" rel=3D"noreferrer" target=3D"_blank">kde.org</a><br>
=C2=A0 =C2=A0Software Architect - Intel Open Source Technology Center<br>
<br>
<br>
<br>
-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;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%2Bunsubscribe@isocpp.org" target=3D=
"_blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/2018077.e7xZ4k24KE%40tjmaciei-mobl1" =
rel=3D"noreferrer" target=3D"_blank">https://groups.google.com/a/isocpp.org=
/d/msgid/std-proposals/2018077.e7xZ4k24KE%40tjmaciei-mobl1</a>.<br>
</blockquote></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/CALvx3hZwd1ss%3DSf1H-1EPca3E7%2BhrQkV=
nZuJPhO5wOS81BygNA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CALvx3hZwd1ss=
%3DSf1H-1EPca3E7%2BhrQkVnZuJPhO5wOS81BygNA%40mail.gmail.com</a>.<br />
--000000000000426cdd057467728b--
.
Author: inkwizytoryankes@gmail.com
Date: Mon, 27 Aug 2018 12:51:31 -0700 (PDT)
Raw View
------=_Part_1107_1653601935.1535399491615
Content-Type: multipart/alternative;
boundary="----=_Part_1108_244177786.1535399491615"
------=_Part_1108_244177786.1535399491615
Content-Type: text/plain; charset="UTF-8"
On Monday, August 27, 2018 at 11:35:32 AM UTC+2, Richard Hodges wrote:
>
> to_json(T const&) for every standard type would be incredibly useful. It
> would have me having to write it in every single project.
>
>
I agree, this is simple enough if we limited yourself to only specified
types (and known on compile time). Some thing like that:
void foo(const T& x)
{
auto s = to_json(x); //`T` can be `std::vector<std::map<std::string,
std::tuple<int, float>>>` that could map to `[{"x":[1, 2.3],"y":[6, 3.5]},
{}]`
T y;
from_json(s, y); //similar to `from_char`, first argument is
`std::string_view`
assert(x == y);
}
One problem I see what code page will be used in result? Isn't json
expecting utf-8?
After this we could think about crating custom parser for arbitrary json
struct.
for (auto j : json(s).as_array()) { v.push_back(j.as<int>()); }
But this could be second proposal.
--
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/f2b4c148-bcb1-433b-a2d8-b39c21835145%40isocpp.org.
------=_Part_1108_244177786.1535399491615
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><br><br>On Monday, August 27, 2018 at 11:35:32 AM UTC+2, R=
ichard Hodges wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;ma=
rgin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=
=3D"ltr">to_json(T const&) for every standard type would be incredibly =
useful. It would have me having to write it in every single project.<div>=
=C2=A0</div></div></blockquote><div><br></div><div>I agree, this is simple =
enough if we limited yourself to only specified types (and known on compile=
time). Some thing like that:</div><div><div style=3D"background-color: rgb=
(250, 250, 250); border-color: rgb(187, 187, 187); border-style: solid; bor=
der-width: 1px; overflow-wrap: break-word;" class=3D"prettyprint"><code cla=
ss=3D"prettyprint"><div class=3D"subprettyprint"><span style=3D"color: #008=
;" class=3D"styled-by-prettify">void</span><span style=3D"color: #000;" cla=
ss=3D"styled-by-prettify"> foo</span><span style=3D"color: #660;" class=3D"=
styled-by-prettify">(</span><span style=3D"color: #008;" class=3D"styled-by=
-prettify">const</span><span style=3D"color: #000;" class=3D"styled-by-pret=
tify"> T</span><span style=3D"color: #660;" class=3D"styled-by-prettify">&a=
mp;</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> x</spa=
n><span style=3D"color: #660;" class=3D"styled-by-prettify">)</span><span s=
tyle=3D"color: #000;" class=3D"styled-by-prettify"><br></span><span style=
=3D"color: #660;" class=3D"styled-by-prettify">{</span><span style=3D"color=
: #000;" class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 </span><span style=
=3D"color: #008;" class=3D"styled-by-prettify">auto</span><span style=3D"co=
lor: #000;" class=3D"styled-by-prettify"> s </span><span style=3D"color: #6=
60;" class=3D"styled-by-prettify">=3D</span><span style=3D"color: #000;" cl=
ass=3D"styled-by-prettify"> to_json</span><span style=3D"color: #660;" clas=
s=3D"styled-by-prettify">(</span><span style=3D"color: #000;" class=3D"styl=
ed-by-prettify">x</span><span style=3D"color: #660;" class=3D"styled-by-pre=
ttify">);</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> =
</span><span style=3D"color: #800;" class=3D"styled-by-prettify">//`T` can =
be `std::vector<std::map<std::string, std::tuple<int, float>>=
;>` that could map to `[{"x":[1, 2.3],"y":[6, 3.5]},=
{}]`</span><span style=3D"color: #000;" class=3D"styled-by-prettify"><br>=
=C2=A0 =C2=A0 T y</span><span style=3D"color: #660;" class=3D"styled-by-pre=
ttify">;</span><span style=3D"color: #000;" class=3D"styled-by-prettify"><b=
r>=C2=A0 =C2=A0 from_json</span><span style=3D"color: #660;" class=3D"style=
d-by-prettify">(</span><span style=3D"color: #000;" class=3D"styled-by-pret=
tify">s</span><span style=3D"color: #660;" class=3D"styled-by-prettify">,</=
span><span style=3D"color: #000;" class=3D"styled-by-prettify"> y</span><sp=
an style=3D"color: #660;" class=3D"styled-by-prettify">);</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color=
: #800;" class=3D"styled-by-prettify">//similar to `from_char`, first argum=
ent is `std::string_view`</span><span style=3D"color: #000;" class=3D"style=
d-by-prettify"><br>=C2=A0 =C2=A0 </span><span style=3D"color: #008;" class=
=3D"styled-by-prettify">assert</span><span style=3D"color: #660;" class=3D"=
styled-by-prettify">(</span><span style=3D"color: #000;" class=3D"styled-by=
-prettify">x </span><span style=3D"color: #660;" class=3D"styled-by-prettif=
y">=3D=3D</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> =
y</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></div></code></=
div></div><div>One problem I see what code page will be used in result? Isn=
't json expecting utf-8?</div><div><br></div><div>After this we could t=
hink about crating custom parser for arbitrary json struct.</div><div><div =
style=3D"background-color: rgb(250, 250, 250); border-color: rgb(187, 187, =
187); border-style: solid; border-width: 1px; overflow-wrap: break-word;" c=
lass=3D"prettyprint"><code class=3D"prettyprint"><div class=3D"subprettypri=
nt"><span style=3D"color: #008;" class=3D"styled-by-prettify">for</span><sp=
an style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=
=3D"color: #660;" class=3D"styled-by-prettify">(</span><span style=3D"color=
: #008;" class=3D"styled-by-prettify">auto</span><span style=3D"color: #000=
;" class=3D"styled-by-prettify"> j </span><span style=3D"color: #660;" clas=
s=3D"styled-by-prettify">:</span><span style=3D"color: #000;" class=3D"styl=
ed-by-prettify"> json</span><span style=3D"color: #660;" class=3D"styled-by=
-prettify">(</span><span style=3D"color: #000;" class=3D"styled-by-prettify=
">s</span><span style=3D"color: #660;" class=3D"styled-by-prettify">).</spa=
n><span style=3D"color: #000;" class=3D"styled-by-prettify">as_array</span>=
<span style=3D"color: #660;" class=3D"styled-by-prettify">())</span><span s=
tyle=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"c=
olor: #660;" class=3D"styled-by-prettify">{</span><span style=3D"color: #00=
0;" class=3D"styled-by-prettify"> v</span><span style=3D"color: #660;" clas=
s=3D"styled-by-prettify">.</span><span style=3D"color: #000;" class=3D"styl=
ed-by-prettify">push_back</span><span style=3D"color: #660;" class=3D"style=
d-by-prettify">(</span><span style=3D"color: #000;" class=3D"styled-by-pret=
tify">j</span><span style=3D"color: #660;" class=3D"styled-by-prettify">.</=
span><span style=3D"color: #008;" class=3D"styled-by-prettify">as</span><sp=
an style=3D"color: #080;" class=3D"styled-by-prettify"><int></span><s=
pan style=3D"color: #660;" class=3D"styled-by-prettify">());</span><span st=
yle=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"co=
lor: #660;" class=3D"styled-by-prettify">}</span></div></code></div></div><=
div><br></div><div>But this could be second proposal.<br><br><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" 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/f2b4c148-bcb1-433b-a2d8-b39c21835145%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/f2b4c148-bcb1-433b-a2d8-b39c21835145=
%40isocpp.org</a>.<br />
------=_Part_1108_244177786.1535399491615--
------=_Part_1107_1653601935.1535399491615--
.