Topic: Class templates curiously parametrized by their
Author: Mingxin Wang <wmx16835vv@163.com>
Date: Mon, 17 Sep 2018 23:54:27 -0700 (PDT)
Raw View
------=_Part_1385_1950236228.1537253667434
Content-Type: multipart/alternative;
boundary="----=_Part_1386_1007494931.1537253667434"
------=_Part_1386_1007494931.1537253667434
Content-Type: text/plain; charset="UTF-8"
I think the motivation for this idea seems not to be convincing enough.
Since an "inner class" is intrusive and relies on implementation details of
"outer classes", it seems more difficult for me to define the semantics of
an "inner class" correctly than an ordinary class.
I believe it will be more convincing if you could provide any meaningful
use case that would be better implemented (in performance, expandability or
maintenance) with this feature.
Mingxin Wang
--
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/04bfcebb-b230-4a6e-8c41-0eb7ca1b4ac5%40isocpp.org.
------=_Part_1386_1007494931.1537253667434
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">I think the motivation for this idea seems not to be convi=
ncing enough. Since an "inner class" is intrusive and relies on i=
mplementation details of "outer classes", it seems more difficult=
for me to define the semantics of an "inner class" correctly tha=
n an ordinary class.<div><br></div><div>I believe it will be more convincin=
g if you could provide any meaningful use case that would be better=C2=A0im=
plemented=C2=A0(in performance, expandability or maintenance) with this fea=
ture.<div><br></div><div>Mingxin Wang</div></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/04bfcebb-b230-4a6e-8c41-0eb7ca1b4ac5%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/04bfcebb-b230-4a6e-8c41-0eb7ca1b4ac5=
%40isocpp.org</a>.<br />
------=_Part_1386_1007494931.1537253667434--
------=_Part_1385_1950236228.1537253667434--
.
Author: "Ivan G." <nekotekina@gmail.com>
Date: Tue, 18 Sep 2018 15:09:05 -0700 (PDT)
Raw View
------=_Part_2439_1479483035.1537308545779
Content-Type: multipart/alternative;
boundary="----=_Part_2440_1115087877.1537308545779"
------=_Part_2440_1115087877.1537308545779
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
I wrote a "reference" property implementation for C++17 and then "improved"=
=20
it with the proposal.
https://gist.github.com/Nekotekina/84f333674c1fcd902115e0010d889745
The main differences are:
1) C++17: property has the size of pointer, and should be constructed with=
=20
a `this` pointer. Proposal: property is empty class with trivial default=20
constructor.
2) C++17: property has the deleted copy constructor. Proposal: property has=
=20
trivial copy constructor.
3) C++17: property has the non-trivial copy assignment. Proposal: property=
=20
has trivial default private copy assignment operator.
However, I'm not very familiar with real-life applications of this feature.
I'm currently writing the proposal here:=20
https://gist.github.com/Nekotekina/a3e80707daef4a0a409b67906650083b
I renamed it to "Bound class templates" so I probably need to create=20
another thread.
=D0=B2=D1=82=D0=BE=D1=80=D0=BD=D0=B8=D0=BA, 18 =D1=81=D0=B5=D0=BD=D1=82=D1=
=8F=D0=B1=D1=80=D1=8F 2018 =D0=B3., 9:54:27 UTC+3 =D0=BF=D0=BE=D0=BB=D1=8C=
=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8C Mingxin Wang=20
=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BB:
>
> I think the motivation for this idea seems not to be convincing enough.=
=20
> Since an "inner class" is intrusive and relies on implementation details =
of=20
> "outer classes", it seems more difficult for me to define the semantics o=
f=20
> an "inner class" correctly than an ordinary class.
>
> I believe it will be more convincing if you could provide any meaningful=
=20
> use case that would be better implemented (in performance, expandability =
or=20
> maintenance) with this feature.
>
> Mingxin Wang
>
--=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/1aeedf9d-be08-4f84-83d5-0cf29da2788d%40isocpp.or=
g.
------=_Part_2440_1115087877.1537308545779
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>I wrote a "reference" property implementati=
on for C++17 and then "improved" it with the proposal.</div><div>=
https://gist.github.com/Nekotekina/84f333674c1fcd902115e0010d889745</div><d=
iv><br></div><div>The main differences are:</div><div>1) C++17: property ha=
s the size of pointer, and should be constructed with a `this` pointer. Pro=
posal: property is empty class with trivial default constructor.</div><div>=
2) C++17: property has the deleted copy constructor. Proposal: property has=
trivial copy constructor.</div><div>3) C++17: property has the non-trivial=
copy assignment. Proposal: property has trivial default private copy assig=
nment operator.</div><div>However, I'm not very familiar with real-life=
applications of this feature.</div><div><br></div><div>I'm currently w=
riting the proposal here: https://gist.github.com/Nekotekina/a3e80707daef4a=
0a409b67906650083b</div><div>I renamed it to "Bound class templates&qu=
ot; so I probably need to create another thread.</div><br>=D0=B2=D1=82=D0=
=BE=D1=80=D0=BD=D0=B8=D0=BA, 18 =D1=81=D0=B5=D0=BD=D1=82=D1=8F=D0=B1=D1=80=
=D1=8F 2018 =D0=B3., 9:54:27 UTC+3 =D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=
=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8C Mingxin Wang =D0=BD=D0=B0=D0=BF=D0=B8=D1=
=81=D0=B0=D0=BB:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin=
-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"lt=
r">I think the motivation for this idea seems not to be convincing enough. =
Since an "inner class" is intrusive and relies on implementation =
details of "outer classes", it seems more difficult for me to def=
ine the semantics of an "inner class" correctly than an ordinary =
class.<div><br></div><div>I believe it will be more convincing if you could=
provide any meaningful use case that would be better=C2=A0implemented=C2=
=A0(in performance, expandability or maintenance) with this feature.<div><b=
r></div><div>Mingxin Wang</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">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/1aeedf9d-be08-4f84-83d5-0cf29da2788d%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/1aeedf9d-be08-4f84-83d5-0cf29da2788d=
%40isocpp.org</a>.<br />
------=_Part_2440_1115087877.1537308545779--
------=_Part_2439_1479483035.1537308545779--
.