Topic: Allow forward class declarations to match a
Author: Justin Bassett <jbassett271@gmail.com>
Date: Fri, 29 Jun 2018 08:28:49 -0700
Raw View
--000000000000db0aa7056fc98118
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
I would extend it and say you can forward declare an arbitrary type, like
in this thread:
https://groups.google.com/a/isocpp.org/forum/#!msg/std-proposals/fm-ThgXXjF=
4/fukkKkh8Xh0J;context-place=3Dforum/std-proposals
As much as I want universal forward declarations, I remember seeing that it
can't be done, since some pointers can have different representations /
sizes. It mightve been something like void* or char* could be bigger and
are on certain systems. I couldn't find a link to back this up, though
On Fri, Jun 29, 2018, 1:48 AM <mihailnajdenov@gmail.com> wrote:
> We have to see what is the situation after Modules.
>
> For now your best bet is to actually create a class
> class FloatImage : public CudaImage<float> { /*using =E2=80=A6*/ };
>
>
> On Friday, June 29, 2018 at 10:56:26 AM UTC+3, Bengt Gustafsson wrote:
>>
>> A forward declaration of a class name is currently not allowed to be
>> resolved by a type alias of a class template. I don't see the logic to
>> this, why is this illegal:
>>
>> // forward declaration in one header file.
>> class FloatImage;
>>
>>
>> // Definition in another header file.
>> template<typename T> class CudaImage {
>> };
>>
>> using FloatImage =3D CudaImage<float>;
>>
>>
>> Godbolt: https://godbolt.org/g/mmTTeQ shows that all compilers reject
>> this.
>>
>> This has created a fair amount of trouble for me when trying to refacto=
r
>> what was previously a FloatImage class to a generic pixel type template.=
I
>> don't see the logic to making this
>> illegal as FloatImage is still the name of a class, i.e. an instance of
>> the CudaImage class template.
>>
>> While I can update the forward declaration to:
>> // forward declaration in one header file.
>> template<typename T> class CudaImage;
>> using FloatImage =3D CudaImage<float>;
>>
>> This seems to be an unnecessary leakage of implementation detail.
>>
>> so is there a technical reason preventing this from being allowed or is
>> it just an oversight that could be corrected?
>>
>> --
> 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/975ab4cd-2ff=
0-4a09-9fac-7c37dc67cf16%40isocpp.org
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/975ab4cd-2f=
f0-4a09-9fac-7c37dc67cf16%40isocpp.org?utm_medium=3Demail&utm_source=3Dfoot=
er>
> .
>
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/CAPuuy5cZ8ak8M%3DujRtqgjSXoPh4%2BOt4eALaoy69hU8Z=
J-EFtCQ%40mail.gmail.com.
--000000000000db0aa7056fc98118
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"auto">I would extend it and say you can forward declare an arbi=
trary type, like in this thread:=C2=A0<a href=3D"https://groups.google.com/=
a/isocpp.org/forum/#!msg/std-proposals/fm-ThgXXjF4/fukkKkh8Xh0J;context-pla=
ce=3Dforum/std-proposals">https://groups.google.com/a/isocpp.org/forum/#!ms=
g/std-proposals/fm-ThgXXjF4/fukkKkh8Xh0J;context-place=3Dforum/std-proposal=
s</a><div dir=3D"auto"><br></div><div dir=3D"auto">As much as I want univer=
sal forward declarations, I remember seeing that it can't be done, sinc=
e some pointers can have different representations / sizes. It mightve been=
something like void* or char* could be bigger and are on certain systems. =
I couldn't find a link to back this up, though</div></div><br><div clas=
s=3D"gmail_quote"><div dir=3D"ltr">On Fri, Jun 29, 2018, 1:48 AM <<a hr=
ef=3D"mailto:mihailnajdenov@gmail.com">mihailnajdenov@gmail.com</a>> wro=
te:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;b=
order-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>We have t=
o see what is the situation after Modules.=C2=A0</div><div><br></div><div>F=
or now your best bet is to actually create a class=C2=A0<span><br style=3D"=
border-bottom-color:rgb(0,0,0);border-bottom-style:none;border-bottom-width=
:0px;border-left-color:rgb(0,0,0);border-left-style:none;border-left-width:=
0px;border-right-color:rgb(0,0,0);border-right-style:none;border-right-widt=
h:0px;border-top-color:rgb(0,0,0);border-top-style:none;border-top-width:0p=
x;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding=
-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px"></span><fon=
t face=3D"courier new,monospace">class FloatImage : public CudaImage<flo=
at> { /*using =E2=80=A6*/ };</font></div><div><b></b><i></i><u></u><sub>=
</sub><sup></sup><strike></strike><font face=3D"courier new,monospace"></fo=
nt><br></div><div><br></div>On Friday, June 29, 2018 at 10:56:26 AM UTC+3, =
Bengt Gustafsson 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">A forward declaration of a class name is currently not allowed to be r=
esolved by a type alias of a class template. I don't see the logic to t=
his, why is this illegal:<div><br></div><div><div><div><div style=3D"backgr=
ound-color:rgb(250,250,250);border-color:rgb(187,187,187);border-style:soli=
d;border-width:1px;word-wrap:break-word"><code><div><span style=3D"color:#8=
00">// forward declaration in one header file.</span><span style=3D"color:#=
000"><br></span><span style=3D"color:#008">class</span><span style=3D"color=
:#000"> </span><span style=3D"color:#606">FloatImage</span><span style=3D"c=
olor:#660">;</span><span style=3D"color:#000"><br><br><br></span><span styl=
e=3D"color:#800">// Definition in another header file.</span><span style=3D=
"color:#000"><br></span><span style=3D"color:#008">template</span><span sty=
le=3D"color:#660"><</span><span style=3D"color:#008">typename</span><spa=
n style=3D"color:#000"> T</span><span style=3D"color:#660">></span><span=
style=3D"color:#000"> </span><span style=3D"color:#008">class</span><span =
style=3D"color:#000"> </span><span style=3D"color:#606">CudaImage</span><sp=
an style=3D"color:#000"> </span><span style=3D"color:#660">{</span><span st=
yle=3D"color:#000"><br></span><span style=3D"color:#660">};</span><span sty=
le=3D"color:#000"><br><br></span><span style=3D"color:#008">using</span><sp=
an style=3D"color:#000"> </span><span style=3D"color:#606">FloatImage</span=
><span style=3D"color:#000"> </span><span style=3D"color:#660">=3D</span><s=
pan style=3D"color:#000"> </span><span style=3D"color:#606">CudaImage</span=
><span style=3D"color:#080"><float></span><span style=3D"color:#660">=
;</span><span style=3D"color:#000"><br></span></div></code></div><br><br>Go=
dbolt:=C2=A0<a href=3D"https://godbolt.org/g/mmTTeQ" rel=3D"nofollow norefe=
rrer" target=3D"_blank">https://godbolt.org/g/mmTTeQ</a> shows that all com=
pilers reject this.</div><div><br></div><div>This has=C2=A0 created a fair =
amount of trouble for me when trying to refactor what was previously a Floa=
tImage class to a generic pixel type template. I don't see the logic to=
making this</div><div>illegal as FloatImage is still the name of a class, =
i.e. an instance of the CudaImage class template.</div><div><br></div><div>=
While I can update the forward declaration to:</div><div style=3D"backgroun=
d-color:rgb(250,250,250);border-color:rgb(187,187,187);border-style:solid;b=
order-width:1px;word-wrap:break-word"><code><div><span style=3D"color:#800"=
>// forward declaration in one header file.</span><span style=3D"color:#000=
"><br></span><span style=3D"color:#008">template</span><span style=3D"color=
:#660"><</span><span style=3D"color:#008">typename</span><span style=3D"=
color:#000"> T</span><span style=3D"color:#660">></span><span style=3D"c=
olor:#000"> </span><span style=3D"color:#008">class</span><span style=3D"co=
lor:#000"> </span><span style=3D"color:#606">CudaImage</span><span style=3D=
"color:#660">;</span><span style=3D"color:#000"><br></span><span style=3D"c=
olor:#008">using</span><span style=3D"color:#000"> </span><span style=3D"co=
lor:#606">FloatImage</span><span style=3D"color:#000"> </span><span style=
=3D"color:#660">=3D</span><span style=3D"color:#000"> </span><span style=3D=
"color:#606">CudaImage</span><span style=3D"color:#080"><float></span=
><span style=3D"color:#660">;</span><span style=3D"color:#000"><br></span><=
/div></code></div><div><div><br>This seems to be an unnecessary leakage of =
implementation detail.</div><div><br></div><div>so is there a technical rea=
son preventing this from being allowed or is it just an oversight that coul=
d be corrected?</div><div><br></div></div></div></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" 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" 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/975ab4cd-2ff0-4a09-9fac-7c37dc67cf16%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter" target=3D"_blank" =
rel=3D"noreferrer">https://groups.google.com/a/isocpp.org/d/msgid/std-propo=
sals/975ab4cd-2ff0-4a09-9fac-7c37dc67cf16%40isocpp.org</a>.<br>
</blockquote></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/CAPuuy5cZ8ak8M%3DujRtqgjSXoPh4%2BOt4e=
ALaoy69hU8ZJ-EFtCQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAPuuy5cZ8ak8=
M%3DujRtqgjSXoPh4%2BOt4eALaoy69hU8ZJ-EFtCQ%40mail.gmail.com</a>.<br />
--000000000000db0aa7056fc98118--
.
Author: =?UTF-8?B?R2HFoXBlciBBxb5tYW4=?= <gasper.azman@gmail.com>
Date: Fri, 29 Jun 2018 16:31:05 +0100
Raw View
--00000000000080b5f3056fc98aa0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
AFAIK it's not possible because a using declaration is not a linkable
symbol - you need to know the actual type name in order to mangle things.
Then again perhaps you can skirt this by just not using it anywhere you'd
actually need a symbol.
G
On Fri, Jun 29, 2018 at 4:28 PM, Justin Bassett <jbassett271@gmail.com>
wrote:
> I would extend it and say you can forward declare an arbitrary type, like
> in this thread: https://groups.google.com/a/isocpp.org/forum/#!msg/
> std-proposals/fm-ThgXXjF4/fukkKkh8Xh0J;context-place=3Dforum/std-proposal=
s
>
> As much as I want universal forward declarations, I remember seeing that
> it can't be done, since some pointers can have different representations =
/
> sizes. It mightve been something like void* or char* could be bigger and
> are on certain systems. I couldn't find a link to back this up, though
>
> On Fri, Jun 29, 2018, 1:48 AM <mihailnajdenov@gmail.com> wrote:
>
>> We have to see what is the situation after Modules.
>>
>> For now your best bet is to actually create a class
>> class FloatImage : public CudaImage<float> { /*using =E2=80=A6*/ };
>>
>>
>> On Friday, June 29, 2018 at 10:56:26 AM UTC+3, Bengt Gustafsson wrote:
>>>
>>> A forward declaration of a class name is currently not allowed to be
>>> resolved by a type alias of a class template. I don't see the logic to
>>> this, why is this illegal:
>>>
>>> // forward declaration in one header file.
>>> class FloatImage;
>>>
>>>
>>> // Definition in another header file.
>>> template<typename T> class CudaImage {
>>> };
>>>
>>> using FloatImage =3D CudaImage<float>;
>>>
>>>
>>> Godbolt: https://godbolt.org/g/mmTTeQ shows that all compilers reject
>>> this.
>>>
>>> This has created a fair amount of trouble for me when trying to
>>> refactor what was previously a FloatImage class to a generic pixel type
>>> template. I don't see the logic to making this
>>> illegal as FloatImage is still the name of a class, i.e. an instance of
>>> the CudaImage class template.
>>>
>>> While I can update the forward declaration to:
>>> // forward declaration in one header file.
>>> template<typename T> class CudaImage;
>>> using FloatImage =3D CudaImage<float>;
>>>
>>> This seems to be an unnecessary leakage of implementation detail.
>>>
>>> so is there a technical reason preventing this from being allowed or is
>>> it just an oversight that could be corrected?
>>>
>>> --
>> 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/
>> isocpp.org/d/msgid/std-proposals/975ab4cd-2ff0-4a09-
>> 9fac-7c37dc67cf16%40isocpp.org
>> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/975ab4cd-2=
ff0-4a09-9fac-7c37dc67cf16%40isocpp.org?utm_medium=3Demail&utm_source=3Dfoo=
ter>
>> .
>>
> --
> 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/CAPuuy5cZ8ak8M%3DujRtqgjSXoPh4%
> 2BOt4eALaoy69hU8ZJ-EFtCQ%40mail.gmail.com
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAPuuy5cZ8a=
k8M%3DujRtqgjSXoPh4%2BOt4eALaoy69hU8ZJ-EFtCQ%40mail.gmail.com?utm_medium=3D=
email&utm_source=3Dfooter>
> .
>
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/CAANG%3DkXw2S5myinkSRf%3DjVCN9%3D2U3905%2BTNtMD6=
JMj3Ge3mMbg%40mail.gmail.com.
--00000000000080b5f3056fc98aa0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">AFAIK it's not possible because a using declaration is=
not a linkable symbol - you need to know the actual type name in order to =
mangle things.<div><br></div><div>Then again perhaps you can skirt this by =
just not using it anywhere you'd actually need a symbol.</div><div><br>=
</div><div>G</div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_=
quote">On Fri, Jun 29, 2018 at 4:28 PM, Justin Bassett <span dir=3D"ltr">&l=
t;<a href=3D"mailto:jbassett271@gmail.com" target=3D"_blank">jbassett271@gm=
ail.com</a>></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=
"auto">I would extend it and say you can forward declare an arbitrary type,=
like in this thread:=C2=A0<a href=3D"https://groups.google.com/a/isocpp.or=
g/forum/#!msg/std-proposals/fm-ThgXXjF4/fukkKkh8Xh0J;context-place=3Dforum/=
std-proposals" target=3D"_blank">https://groups.google.<wbr>com/a/isocpp.or=
g/forum/#!msg/<wbr>std-proposals/fm-ThgXXjF4/<wbr>fukkKkh8Xh0J;context-plac=
e=3D<wbr>forum/std-proposals</a><div dir=3D"auto"><br></div><div dir=3D"aut=
o">As much as I want universal forward declarations, I remember seeing that=
it can't be done, since some pointers can have different representatio=
ns / sizes. It mightve been something like void* or char* could be bigger a=
nd are on certain systems. I couldn't find a link to back this up, thou=
gh</div></div><div><div class=3D"h5"><br><div class=3D"gmail_quote"><div di=
r=3D"ltr">On Fri, Jun 29, 2018, 1:48 AM <<a href=3D"mailto:mihailnajden=
ov@gmail.com" target=3D"_blank">mihailnajdenov@gmail.com</a>> wrote:<br>=
</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>We have to see w=
hat is the situation after Modules.=C2=A0</div><div><br></div><div>For now =
your best bet is to actually create a class=C2=A0<span><br style=3D"border-=
bottom-color:rgb(0,0,0);border-bottom-style:none;border-bottom-width:0px;bo=
rder-left-color:rgb(0,0,0);border-left-style:none;border-left-width:0px;bor=
der-right-color:rgb(0,0,0);border-right-style:none;border-right-width:0px;b=
order-top-color:rgb(0,0,0);border-top-style:none;border-top-width:0px;margi=
n-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bottom=
:0px;padding-left:0px;padding-right:0px;padding-top:0px"></span><font face=
=3D"courier new,monospace">class FloatImage : public CudaImage<float>=
{ /*using =E2=80=A6*/ };</font></div><div><b></b><i></i><u></u><sub></sub>=
<sup></sup><strike></strike><font face=3D"courier new,monospace"></font><br=
></div><div><br></div>On Friday, June 29, 2018 at 10:56:26 AM UTC+3, Bengt =
Gustafsson 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">A=
forward declaration of a class name is currently not allowed to be resolve=
d by a type alias of a class template. I don't see the logic to this, w=
hy is this illegal:<div><br></div><div><div><div><div style=3D"background-c=
olor:rgb(250,250,250);border-color:rgb(187,187,187);border-style:solid;bord=
er-width:1px;word-wrap:break-word"><code><div><span style=3D"color:#800">//=
forward declaration in one header file.</span><span style=3D"color:#000"><=
br></span><span style=3D"color:#008">class</span><span style=3D"color:#000"=
> </span><span style=3D"color:#606">FloatImage</span><span style=3D"color:#=
660">;</span><span style=3D"color:#000"><br><br><br></span><span style=3D"c=
olor:#800">// Definition in another header file.</span><span style=3D"color=
:#000"><br></span><span style=3D"color:#008">template</span><span style=3D"=
color:#660"><</span><span style=3D"color:#008">typename</span><span styl=
e=3D"color:#000"> T</span><span style=3D"color:#660">></span><span style=
=3D"color:#000"> </span><span style=3D"color:#008">class</span><span style=
=3D"color:#000"> </span><span style=3D"color:#606">CudaImage</span><span st=
yle=3D"color:#000"> </span><span style=3D"color:#660">{</span><span style=
=3D"color:#000"><br></span><span style=3D"color:#660">};</span><span style=
=3D"color:#000"><br><br></span><span style=3D"color:#008">using</span><span=
style=3D"color:#000"> </span><span style=3D"color:#606">FloatImage</span><=
span style=3D"color:#000"> </span><span style=3D"color:#660">=3D</span><spa=
n style=3D"color:#000"> </span><span style=3D"color:#606">CudaImage</span><=
span style=3D"color:#080"><float></span><span style=3D"color:#660">;<=
/span><span style=3D"color:#000"><br></span></div></code></div><br><br>Godb=
olt:=C2=A0<a href=3D"https://godbolt.org/g/mmTTeQ" rel=3D"nofollow noreferr=
er" target=3D"_blank">https://godbolt.org/<wbr>g/mmTTeQ</a> shows that all =
compilers reject this.</div><div><br></div><div>This has=C2=A0 created a fa=
ir amount of trouble for me when trying to refactor what was previously a F=
loatImage class to a generic pixel type template. I don't see the logic=
to making this</div><div>illegal as FloatImage is still the name of a clas=
s, i.e. an instance of the CudaImage class template.</div><div><br></div><d=
iv>While I can update the forward declaration to:</div><div style=3D"backgr=
ound-color:rgb(250,250,250);border-color:rgb(187,187,187);border-style:soli=
d;border-width:1px;word-wrap:break-word"><code><div><span style=3D"color:#8=
00">// forward declaration in one header file.</span><span style=3D"color:#=
000"><br></span><span style=3D"color:#008">template</span><span style=3D"co=
lor:#660"><</span><span style=3D"color:#008">typename</span><span style=
=3D"color:#000"> T</span><span style=3D"color:#660">></span><span style=
=3D"color:#000"> </span><span style=3D"color:#008">class</span><span style=
=3D"color:#000"> </span><span style=3D"color:#606">CudaImage</span><span st=
yle=3D"color:#660">;</span><span style=3D"color:#000"><br></span><span styl=
e=3D"color:#008">using</span><span style=3D"color:#000"> </span><span style=
=3D"color:#606">FloatImage</span><span style=3D"color:#000"> </span><span s=
tyle=3D"color:#660">=3D</span><span style=3D"color:#000"> </span><span styl=
e=3D"color:#606">CudaImage</span><span style=3D"color:#080"><float></=
span><span style=3D"color:#660">;</span><span style=3D"color:#000"><br></sp=
an></div></code></div><div><div><br>This seems to be an unnecessary leakage=
of implementation detail.</div><div><br></div><div>so is there a technical=
reason preventing this from being allowed or is it just an oversight that =
could be corrected?</div><div><br></div></div></div></div></div></blockquot=
e></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" rel=3D"nore=
ferrer" 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" rel=3D"noreferrer" 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/975ab4cd-2ff0-4a09-9fac-7c37dc67cf16%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter" rel=3D"noreferrer"=
target=3D"_blank">https://groups.google.com/a/<wbr>isocpp.org/d/msgid/std-=
<wbr>proposals/975ab4cd-2ff0-4a09-<wbr>9fac-7c37dc67cf16%40isocpp.org</a><w=
br>.<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" 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/CAPuuy5cZ8ak8M%3DujRtqgjSXoPh4%2BOt4e=
ALaoy69hU8ZJ-EFtCQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoo=
ter" target=3D"_blank">https://groups.google.com/a/<wbr>isocpp.org/d/msgid/=
std-<wbr>proposals/CAPuuy5cZ8ak8M%<wbr>3DujRtqgjSXoPh4%<wbr>2BOt4eALaoy69hU=
8ZJ-EFtCQ%<wbr>40mail.gmail.com</a>.<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" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAANG%3DkXw2S5myinkSRf%3DjVCN9%3D2U39=
05%2BTNtMD6JMj3Ge3mMbg%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoo=
ter">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAANG%3Dk=
Xw2S5myinkSRf%3DjVCN9%3D2U3905%2BTNtMD6JMj3Ge3mMbg%40mail.gmail.com</a>.<br=
/>
--00000000000080b5f3056fc98aa0--
.