Topic: Partial class: a separation of a class


Author: "'Jeffrey Yasskin' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Date: Tue, 23 Feb 2016 20:42:27 -0800
Raw View
On Tue, Feb 23, 2016 at 9:13 AM, Nicol Bolas <jmckesson@gmail.com> wrote:
> Seriously? A zip file?

Hey, be civil.

--
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/CANh-dX%3D%3DjUBf4oHWpzR3Ro7OUEvCA%2BYh_47Gga9B0Y58U1XqQg%40mail.gmail.com.

.


Author: Magnus Fromreide <magfr@lysator.liu.se>
Date: Sat, 27 Feb 2016 07:14:05 +0100
Raw View
On Fri, Feb 26, 2016 at 04:37:21PM -0800, daniele.bordes@gmail.com wrote:
> @Magnus
>
> If I understand well, I think you could be right: in my proposal a "partial class" should not be a polymorphic type, this would affect the "memory layout" of each instances and this should be prohibited.

What I am trying to say is that the limation that puts upon the design makes
the entire proposal almost useless.

In my proposal you get stuck with always having to declare all parts in the
same order but you can use them for any class.

As for reflection, I suppose reflection of an incoomplete type would yield
incomplete information and that is as it should be, right?

/MF

--
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/20160227061404.GA23967%40noemi.

.


Author: Thiago Macieira <thiago@macieira.org>
Date: Fri, 26 Feb 2016 23:34:29 -0800
Raw View
On sexta-feira, 26 de fevereiro de 2016 04:48:16 PST daniele.bordes@gmail.com
wrote:
> You are comparing the two proposals as a challenge, but I have nothing
> against the module construct, it sounds powerful.
> I am only saying that is does not remove all useless compile dependencies:
> if you argue the the size belongs to the public layer, all the users that
> do not need the size will still suffer from this useless compile dependency.
> Actually the users of a class can be split in two groups: those that do not
> create instances of the class and those who do. Only the second need the
> size, but not the first, which therefore do not need to be recompiled when
> the private part of the used class (and as consequence, the size) is
> modified.

We can also split the users of a class into two groups: those that call inline
functions and those that don't. Are you proposing to handle that?

Similarly, there's another group: those that use members of the class (static
or not) and those that don't.

We can further subdivide the users for each inline function and each member.

--
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/3539996.0jgEEKPlUm%40tjmaciei-mobl4.

.


Author: Thiago Macieira <thiago@macieira.org>
Date: Fri, 26 Feb 2016 23:35:46 -0800
Raw View
On sexta-feira, 26 de fevereiro de 2016 06:48:09 PST Nicol Bolas wrote:
> On Friday, February 26, 2016 at 4:24:55 AM UTC-5, Igor Baidiuk wrote:
> > To me, module proposal can actually handle this. A compiler smart enough
> > can extract "public layer" from module definition and recompile dependents
> > only when that public layer is changed. And please note that that public
> > layer will also include at least size of private part. Something like
> > `private: char _1234__[PRIVATE_PART_SIZE];`
>
> Sure... right up until you start giving reflection the ability to access
> privates. Which pretty much every reflection proposal that allows you to
> access constructs on a type does.
>
> Then your module files need to actually store all private data.

You don't need to go into reflection for this. Just take any old class that has
an inline function that accesses a private member.

--
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/2858737.G6p3omlzNl%40tjmaciei-mobl4.

.


Author: daniele.bordes@gmail.com
Date: Fri, 26 Feb 2016 23:50:00 -0800 (PST)
Raw View
------=_Part_1369_1009351602.1456559400990
Content-Type: text/plain; charset=UTF-8

@Thiago

Of course inline methods need to be declared into the "internal class" header since they need the private part.

--
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/d41d736a-7c19-4eb2-a0e8-392368f8a137%40isocpp.org.

------=_Part_1369_1009351602.1456559400990--

.


Author: jsphadetula@gmail.com
Date: Sat, 27 Feb 2016 07:57:33 +0000 (UTC)
Raw View
------=_Part_8927_602840130.1456559853147
Content-Type: text/plain; charset=UTF-8



if the recently discussed [[visible]] attribute is coupled with modules, I think it should address the issue being addressed by this proposal


Sent from Outlook Mobile






On Fri, Feb 26, 2016 at 11:50 PM -0800, <daniele.bordes@gmail.com> wrote:










@Thiago

Of course inline methods need to be declared into the "internal class" header since they need the private part.

--
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/d41d736a-7c19-4eb2-a0e8-392368f8a137%40isocpp.org.





--
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/997FEFE7601FB061.1-46ec50c1-aa44-43c5-9cc7-ce84aea7b155%40mail.outlook.com.

------=_Part_8927_602840130.1456559853147
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<html><head></head><body><p dir=3D"ltr">if the recently discussed [[visible=
]] attribute is coupled with modules, I think it should address the issue b=
eing addressed by this proposal </p>
<p dir=3D"ltr">Sent from <a href=3D"https://aka.ms/blhgte">Outlook Mobile</=
a><br>
</p>
<br><br><br>
<div class=3D"gmail_quote">On Fri, Feb 26, 2016 at 11:50 PM -0800, <span di=
r=3D"ltr">&lt;<a href=3D"mailto:daniele.bordes@gmail.com" target=3D"_blank"=
>daniele.bordes@gmail.com</a>&gt;</span> wrote:<br>
<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">




<div dir=3D"3D&quot;ltr&quot;">
<pre>@Thiago=20

Of course inline methods need to be declared into the "internal class" head=
er since they need the private part.

--=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/d41d736a-7c19-4eb2-a0e8-392368f8a137%40isocpp.or=
g.
</pre>
</div>

</blockquote>
</div>
</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/997FEFE7601FB061.1-46ec50c1-aa44-43c5=
-9cc7-ce84aea7b155%40mail.outlook.com?utm_medium=3Demail&utm_source=3Dfoote=
r">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/997FEFE7601=
FB061.1-46ec50c1-aa44-43c5-9cc7-ce84aea7b155%40mail.outlook.com</a>.<br />

------=_Part_8927_602840130.1456559853147--

.


Author: daniele.bordes@gmail.com
Date: Sat, 27 Feb 2016 00:01:14 -0800 (PST)
Raw View
------=_Part_1346_462293763.1456560074781
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

@Thiago
Anyhow I do not see the point with "inline" methods at all.
Also in the current possible solutions to remove compile dependencies (poly=
morphism or handle/body pattern) you do not have inline functions in the in=
terface, since with polymorphism the methods are just virtual, while with t=
he handle/body pattern thy must "forward" to the body class.

--=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/d8c1cd3b-1d52-419d-9342-0d4f257a481e%40isocpp.or=
g.

------=_Part_1346_462293763.1456560074781--

.


Author: Thiago Macieira <thiago@macieira.org>
Date: Sat, 27 Feb 2016 00:07:13 -0800
Raw View
On sexta-feira, 26 de fevereiro de 2016 23:50:00 PST daniele.bordes@gmail.com
wrote:
> @Thiago
>
> Of course inline methods need to be declared into the "internal class"
> header since they need the private part.

Ok, so to summarise, a class that meets the following criteria could using
this partial class proposal:

a) no public or protected constructor (effectively making it a final class)
b) no public or protected data members
c) no public or protected inline members
d) no virtuals
e) no base classes

Is it worth the hassle? How often are classes like that used?

--
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/2259700.FsJR3R9gzS%40tjmaciei-mobl4.

.


Author: daniele.bordes@gmail.com
Date: Sat, 27 Feb 2016 00:07:32 -0800 (PST)
Raw View
------=_Part_1433_335228645.1456560452544
Content-Type: text/plain; charset=UTF-8

@Magnus
My proposal applies to "concrete type" classes which often are really important in embedded software design.
There are some limitations listed in the final paragraph of my .pdf, but they are more ore less the same limitations that already exist with the usage of concrete types.
Where is the other proposal you mention? I did not read it yet....

--
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/801a0a31-cea1-427a-b0ad-f9ac149767d6%40isocpp.org.

------=_Part_1433_335228645.1456560452544--

.


Author: Thiago Macieira <thiago@macieira.org>
Date: Sat, 27 Feb 2016 00:09:02 -0800
Raw View
On s=C3=A1bado, 27 de fevereiro de 2016 00:01:14 PST daniele.bordes@gmail.c=
om=20
wrote:
> @Thiago
> Anyhow I do not see the point with "inline" methods at all.
> Also in the current possible solutions to remove compile dependencies
> (polymorphism or handle/body pattern) you do not have inline functions in
> the interface, since with polymorphism the methods are just virtual, whil=
e
> with the handle/body pattern thy must "forward" to the body class.

Exactly. None of those patterns allow for inline methods, which your propos=
al=20
also requires to be banned.

A class like this could not be made partial:

class S
{
 int i;
public:
 int get_i() { return i; }
 void set_i(int n) { i =3D n; }
};

--=20
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center

--=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/485641025.IVHqyf2jWH%40tjmaciei-mobl4.

.


Author: daniele.bordes@gmail.com
Date: Sat, 27 Feb 2016 00:45:59 -0800 (PST)
Raw View
------=_Part_1541_197950866.1456562760044
Content-Type: text/plain; charset=UTF-8

No doubt about that: inline methods are inherently compile dependencies that cannot be removed because they are just "desired".

--
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/e0310855-96c1-4231-b6ab-01c35d806a2b%40isocpp.org.

------=_Part_1541_197950866.1456562760044--

.


Author: daniele.bordes@gmail.com
Date: Sat, 27 Feb 2016 00:52:24 -0800 (PST)
Raw View
------=_Part_1467_394521100.1456563144755
Content-Type: text/plain; charset=UTF-8

@Thiago
a) is false. The class can be created invoking the constructor, but in that case you need to include the "internal" class header.

About the othere limitations, they are the same for the "concrete types" where handle/body pattern is used to remove compile dependencies. But with partial class you do not need to store the additional pointer.

--
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/ade8bd49-8be5-4e17-a086-f00b6ad80f0c%40isocpp.org.

------=_Part_1467_394521100.1456563144755--

.


Author: daniele.bordes@gmail.com
Date: Sat, 27 Feb 2016 00:55:31 -0800 (PST)
Raw View
------=_Part_1468_1731487336.1456563331667
Content-Type: text/plain; charset=UTF-8

b) and c) are also false. You can do it in the "internal" class header.

--
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/a2ed18f3-d0ba-4d8d-8352-83292a87e934%40isocpp.org.

------=_Part_1468_1731487336.1456563331667--

.


Author: Thiago Macieira <thiago@macieira.org>
Date: Sat, 27 Feb 2016 01:00:02 -0800
Raw View
On s=C3=A1bado, 27 de fevereiro de 2016 00:52:24 PST daniele.bordes@gmail.c=
om=20
wrote:
> @Thiago
> a) is false. The class can be created invoking the constructor, but in th=
at
> case you need to include the "internal" class header.

I thought we were talking about using that class without the private parts.=
=20
Even if the partial definition contained constructors, they could not be=20
called, so it's effectively the same.

> About the othere limitations, they are the same for the "concrete types"
> where handle/body pattern is used to remove compile dependencies. But wit=
h
> partial class you do not need to store the additional pointer.

That's not correct. For example, QObject:

a) has public constructors
b) has a protected member (the d_ptr)
c) has inline members
d) has virtuals
e) derives from QObjectData

and yet it's a very good example of a private implementation / d-pointer=20
pattern. It manages to violate ALL of the restrictions that your partial cl=
ass=20
proposal would impose.

To be honest here, the inline members don't access the data members, they a=
re=20
just convenience wrappers, so c) isn't an issue.

And if a good private implementation proposal existed, we could live withou=
t b=20
and with making QObject and any derived classes allocatable only on the hea=
p,=20
no stack.

But we must definitely have the ability to derive from QObject, to have=20
virtuals and to have base classes.

--=20
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center

--=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/2823189.xVkA803g8E%40tjmaciei-mobl4.

.


Author: daniele.bordes@gmail.com
Date: Sat, 27 Feb 2016 01:11:26 -0800 (PST)
Raw View
------=_Part_1343_1132879724.1456564287021
Content-Type: text/plain; charset=UTF-8

QObject is a perfect example of handle/body pattern which is a good C++ programming style but whose drawback of the additional pointer for each object is addressed by my proposal.
Embedded System often cannot afford such useless additional memory need.

--
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/a59a3199-f4a0-456b-bd2d-17f98e3e69d6%40isocpp.org.

------=_Part_1343_1132879724.1456564287021--

.


Author: Thiago Macieira <thiago@macieira.org>
Date: Sat, 27 Feb 2016 01:14:02 -0800
Raw View
On s=C3=A1bado, 27 de fevereiro de 2016 01:11:26 PST daniele.bordes@gmail.c=
om=20
wrote:
> QObject is a perfect example of handle/body pattern which is a good C++
> programming style but whose drawback of the additional pointer for each
> object is addressed by my proposal. Embedded System often cannot afford
> such useless additional memory need.

Good. Which means you need to refine your proposal so that QObject could us=
e=20
it.

As it stands, it wouldn't be able to.

--=20
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center

--=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/15782828.RxuU8eh0MO%40tjmaciei-mobl4.

.


Author: Nevin Liber <nevin@cplusplusguy.com>
Date: Sat, 27 Feb 2016 03:15:26 -0600
Raw View
--e89a8f2343819677df052cbcdd9b
Content-Type: text/plain; charset=UTF-8

On 27 February 2016 at 03:00, Thiago Macieira <thiago@macieira.org> wrote:

> I thought we were talking about using that class without the private parts.
> Even if the partial definition contained constructors, they could not be
> called, so it's effectively the same.
>

Including implicitly generated functions, as those are inlined...
--
 Nevin ":-)" Liber  <mailto:nevin@cplusplusguy.com <nevin@eviloverlord.com>>
+1-847-691-1404

--
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/CAGg_6%2BNZLv9wZv%3Dgz9aaAH1LKUZn3wRmu3Vc1pRd3PLzUfhdsA%40mail.gmail.com.

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

<div dir=3D"ltr">On 27 February 2016 at 03:00, Thiago Macieira <span dir=3D=
"ltr">&lt;<a href=3D"mailto:thiago@macieira.org" target=3D"_blank">thiago@m=
acieira.org</a>&gt;</span> wrote:<br><div class=3D"gmail_extra"><div class=
=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex">I thought we were talking a=
bout using that class without the private parts.<br>
Even if the partial definition contained constructors, they could not be<br=
>
called, so it&#39;s effectively the same.<br></blockquote><div><br></div><d=
iv>Including implicitly generated functions, as those are inlined...<br>-- =
<br><div class=3D"gmail_signature"><div dir=3D"ltr">=C2=A0Nevin &quot;:-)&q=
uot; Liber=C2=A0 &lt;mailto:<a href=3D"mailto:nevin@eviloverlord.com" targe=
t=3D"_blank">nevin@cplusplusguy.com</a>&gt;=C2=A0 +1-847-691-1404<br></div>=
</div>
</div></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/CAGg_6%2BNZLv9wZv%3Dgz9aaAH1LKUZn3wRm=
u3Vc1pRd3PLzUfhdsA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAGg_6%2BNZLv=
9wZv%3Dgz9aaAH1LKUZn3wRmu3Vc1pRd3PLzUfhdsA%40mail.gmail.com</a>.<br />

--e89a8f2343819677df052cbcdd9b--

.


Author: daniele.bordes@gmail.com
Date: Sat, 27 Feb 2016 02:37:39 -0800 (PST)
Raw View
------=_Part_1420_580513258.1456569459409
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

I still do not see the point with QObject. This is a completely different p=
attern.=20
What I need is completely different: to use "concrete types" (term ist from=
 Stroustroup book) through reference and pointer, without compile dependenc=
ies due to the private part which is not needed, but nevertheless up to now=
 cannnot be split and therefore must be included.

--=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/de8d6058-019c-4783-ae76-335f572cabb0%40isocpp.or=
g.

------=_Part_1420_580513258.1456569459409--

.


Author: daniele.bordes@gmail.com
Date: Sat, 27 Feb 2016 02:41:31 -0800 (PST)
Raw View
------=_Part_1543_1522951256.1456569692096
Content-Type: text/plain; charset=UTF-8

From many comments I become afraid that embedded software design and the related trade-offs are known only superficially and many uses C++ only like Java.

--
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/0b35b9c8-4416-441e-b937-30a6fb1cfd7a%40isocpp.org.

------=_Part_1543_1522951256.1456569692096--

.


Author: daniele.bordes@gmail.com
Date: Sat, 27 Feb 2016 02:44:15 -0800 (PST)
Raw View
------=_Part_1518_203791701.1456569856014
Content-Type: text/plain; charset=UTF-8

I thought QObject is just an example taken from a library. Isn't it?

--
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/01295f13-9c3e-4746-9187-7fbd3085bdd8%40isocpp.org.

------=_Part_1518_203791701.1456569856014--

.


Author: daniele.bordes@gmail.com
Date: Sat, 27 Feb 2016 02:54:40 -0800 (PST)
Raw View
------=_Part_86_114938192.1456570481046
Content-Type: text/plain; charset=UTF-8

I still do not see why my proposal of let's say class C cannot be used by other users:

- if they do not instantiate objects of C, they include only the "partial" header of C
- if they instantiate objects of C or want to derive from C, they include both "partial" and "internal" header of C

Easy, isn't it?

--
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/fa201d1b-acfb-49b1-9e45-7aeddb65fdba%40isocpp.org.

------=_Part_86_114938192.1456570481046--

.


Author: Thiago Macieira <thiago@macieira.org>
Date: Sat, 27 Feb 2016 11:39:20 -0800
Raw View
On s=C3=A1bado, 27 de fevereiro de 2016 02:54:40 PST daniele.bordes@gmail.c=
om=20
wrote:
> I still do not see why my proposal of let's say class C cannot be used by
> other users:
>=20
> - if they do not instantiate objects of C, they include only the "partial=
"
> header of C - if they instantiate objects of C or want to derive from C,
> they include both "partial" and "internal" header of C
>=20
> Easy, isn't it?

Maybe. You need to write the proposal for us to understand what you actuall=
y=20
meant.

I think you have a valid use-case here and a workable proposal (if you care=
 to=20
make it).

The next problem is whether this is something we'd like in the C++ language=
..=20
If the functionality is of limited use and can already be implemented thoug=
h=20
with difficulty, we may not want it. You should look up past proposals of=
=20
partial classes and see if your proposal also addresses them and whether it=
=20
addresses the problems raised in those proposals.

PS: can you please use a mail client that does proper quoting of the emails=
=20
you're replying to? Threading is also broken, for some reason.

--=20
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center

--=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/1719749.nOLtU5Pxdv%40tjmaciei-mobl4.

.


Author: daniele.bordes@gmail.com
Date: Sat, 27 Feb 2016 22:21:17 -0800 (PST)
Raw View
------=_Part_1922_815683447.1456640477751
Content-Type: text/plain; charset=UTF-8

@Thiago
Thank you for your interest.
Actually I already attached a .zip file (partial class.zip) with a detailed description of my proposal and an example of the two header files of a class. You can see it by the first entry of this thread.
Is it not enough detailed or enough clear?
Should a different standardised format be followed?

p.s.: I am just using Google Chrome

--
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/c31a10b5-1b88-44aa-976e-7cd900395765%40isocpp.org.

------=_Part_1922_815683447.1456640477751--

.


Author: Thiago Macieira <thiago@macieira.org>
Date: Sun, 28 Feb 2016 09:50:33 -0800
Raw View
On s=C3=A1bado, 27 de fevereiro de 2016 22:21:17 PST daniele.bordes@gmail.c=
om=20
wrote:
> @Thiago
> Thank you for your interest.
> Actually I already attached a .zip file (partial class.zip) with a detail=
ed
> description of my proposal and an example of the two header files of a
> class. You can see it by the first entry of this thread. Is it not enough
> detailed or enough clear?
> Should a different standardised format be followed?

Follow the format of other proposals.

> p.s.: I am just using Google Chrome

Then whichever web mail client you're using is causing this. I suggest=20
another.

--=20
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center

--=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/1846771.l0izAWD3Xx%40tjmaciei-mobl4.

.


Author: daniele.bordes@gmail.com
Date: Sun, 28 Feb 2016 09:56:21 -0800 (PST)
Raw View
------=_Part_2219_12730910.1456682181731
Content-Type: text/plain; charset=UTF-8

@Thiago
Thank you for the answer.
Which is the format of other proposals? I was addressed to this group and I thought it was enough to post it here.
Is there another standard way? Is this currently not valid as official 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/91973848-8b4e-475a-944e-80e2c5a34bae%40isocpp.org.

------=_Part_2219_12730910.1456682181731--

.


Author: Brent Friedman <fourthgeek@gmail.com>
Date: Sun, 28 Feb 2016 12:17:31 -0600
Raw View
--001a114b17dcaaadb8052cd88b80
Content-Type: text/plain; charset=UTF-8

>>Is there another standard way? Is this currently not valid as official
proposal?

This is an informal discussion forum, a group of volunteers providing
feedback on proposals. The process of submitting a proposal is documented
here:

https://isocpp.org/std/submit-a-proposal

Crafting a standardization proposal with any chance of being taken
seriously is extremely rigorous and far more complicated than posting in a
forum. You need detailed descriptions of how this language feature will
interact with other language features (sizeof? data layout? bitfields?),
how it's going to impact the standard library if at all (for example,
should std::vector now be a partial class? should string? what rules should
we use to decide?), lawyer-speak "standardese" wording for the exact
amendments that you are proposing to make to the official C++ standard, all
of which will have to pass multiple rounds of face-to-face ISO
standardization meetings. For language features like this, it also helps if
you can provide an example implementation by modifying an existing compiler
so we know that it is in fact possible. Often you may be able to find
compiler writers willing to volunteer help in that effort.

On Sun, Feb 28, 2016 at 11:56 AM, <daniele.bordes@gmail.com> wrote:

> @Thiago
> Thank you for the answer.
> Which is the format of other proposals? I was addressed to this group and
> I thought it was enough to post it here.
> Is there another standard way? Is this currently not valid as official
> 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/91973848-8b4e-475a-944e-80e2c5a34bae%40isocpp.org
> .
>

--
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/CADbh%2BeQgHGcG_YSXwCZOwTvEj_ePRgts4KukFYH_ap6izXYrZQ%40mail.gmail.com.

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

<div dir=3D"ltr"><div>&gt;&gt;<span style=3D"font-size:12.8px">Is there ano=
ther standard way? Is this currently not valid as official proposal?</span>=
<br></div><div><span style=3D"font-size:12.8px"><br></span></div><div>This =
is an informal discussion forum, a group of volunteers providing feedback o=
n proposals. The process of submitting a proposal is documented here:</div>=
<div><br></div><div><a href=3D"https://isocpp.org/std/submit-a-proposal">ht=
tps://isocpp.org/std/submit-a-proposal</a><br></div><div><br></div><div>Cra=
fting a standardization proposal with any chance of being taken seriously i=
s extremely rigorous and far more complicated than posting in a forum. You =
need detailed descriptions of how this language feature will interact with =
other language features (sizeof? data layout? bitfields?), how it&#39;s goi=
ng to impact the standard library if at all (for example, should std::vecto=
r now be a partial class? should string? what rules should we use to decide=
?), lawyer-speak &quot;standardese&quot; wording for the exact amendments t=
hat you are proposing to make to the official C++ standard, all of which wi=
ll have to pass multiple rounds of face-to-face ISO standardization meeting=
s. For language features like this, it also helps if you can provide an exa=
mple implementation by modifying an existing compiler so we know that it is=
 in fact possible. Often you may be able to find compiler writers willing t=
o volunteer help in that effort.</div></div><div class=3D"gmail_extra"><br>=
<div class=3D"gmail_quote">On Sun, Feb 28, 2016 at 11:56 AM,  <span dir=3D"=
ltr">&lt;<a href=3D"mailto:daniele.bordes@gmail.com" target=3D"_blank">dani=
ele.bordes@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex=
">@Thiago<br>
Thank you for the answer.<br>
Which is the format of other proposals? I was addressed to this group and I=
 thought it was enough to post it here.<br>
Is there another standard way? Is this currently not valid as official prop=
osal?<br>
<span class=3D""><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">std-propo=
sals+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>
</span>To view this discussion on the web visit <a href=3D"https://groups.g=
oogle.com/a/isocpp.org/d/msgid/std-proposals/91973848-8b4e-475a-944e-80e2c5=
a34bae%40isocpp.org" rel=3D"noreferrer" target=3D"_blank">https://groups.go=
ogle.com/a/isocpp.org/d/msgid/std-proposals/91973848-8b4e-475a-944e-80e2c5a=
34bae%40isocpp.org</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&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/CADbh%2BeQgHGcG_YSXwCZOwTvEj_ePRgts4K=
ukFYH_ap6izXYrZQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CADbh%2BeQgHGcG=
_YSXwCZOwTvEj_ePRgts4KukFYH_ap6izXYrZQ%40mail.gmail.com</a>.<br />

--001a114b17dcaaadb8052cd88b80--

.


Author: daniele.bordes@gmail.com
Date: Sun, 28 Feb 2016 10:27:40 -0800 (PST)
Raw View
------=_Part_92_612155064.1456684060585
Content-Type: text/plain; charset=UTF-8

@Brent
Thank you very much.
I still do not understand. The link you refer has at the end a link back here, which is indicated as the place to send the proposal. Am I missing something?

--
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/edb0031c-2ce7-49bd-9d0d-4e411894d539%40isocpp.org.

------=_Part_92_612155064.1456684060585--

.


Author: Brent Friedman <fourthgeek@gmail.com>
Date: Sun, 28 Feb 2016 12:29:38 -0600
Raw View
--001a114b1430060885052cd8b78b
Content-Type: text/plain; charset=UTF-8

> The link you refer has at the end a link back here, which is indicated as
the place to send the proposal. Am I missing something?

That page lists 3 steps, not including the face-to-face meetings. You are
on step 1.

On Sun, Feb 28, 2016 at 12:27 PM, <daniele.bordes@gmail.com> wrote:

> @Brent
> Thank you very much.
> I still do not understand. The link you refer has at the end a link back
> here, which is indicated as the place to send the proposal. Am I missing
> something?
>
> --
> 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/edb0031c-2ce7-49bd-9d0d-4e411894d539%40isocpp.org
> .
>

--
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/CADbh%2BeQXzx4agDu_ym4VnBXcg5LO%2B2qAsp9UQxRv-gamnHgAVA%40mail.gmail.com.

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

<div dir=3D"ltr">&gt;<span style=3D"font-size:12.8px">=C2=A0The link you re=
fer has at the end a link back here, which is indicated as the place to sen=
d the proposal. Am I missing something?</span><div><span style=3D"font-size=
:12.8px"><br></span></div><div><span style=3D"font-size:12.8px">That page l=
ists 3 steps, not including the face-to-face meetings. You are on step 1.</=
span></div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">=
On Sun, Feb 28, 2016 at 12:27 PM,  <span dir=3D"ltr">&lt;<a href=3D"mailto:=
daniele.bordes@gmail.com" target=3D"_blank">daniele.bordes@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">@Brent<br>
Thank you very much.<br>
I still do not understand. The link you refer has at the end a link back he=
re, which is indicated as the place to send the proposal. Am I missing some=
thing?<br>
<span class=3D""><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">std-propo=
sals+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>
</span>To view this discussion on the web visit <a href=3D"https://groups.g=
oogle.com/a/isocpp.org/d/msgid/std-proposals/edb0031c-2ce7-49bd-9d0d-4e4118=
94d539%40isocpp.org" rel=3D"noreferrer" target=3D"_blank">https://groups.go=
ogle.com/a/isocpp.org/d/msgid/std-proposals/edb0031c-2ce7-49bd-9d0d-4e41189=
4d539%40isocpp.org</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&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/CADbh%2BeQXzx4agDu_ym4VnBXcg5LO%2B2qA=
sp9UQxRv-gamnHgAVA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CADbh%2BeQXzx=
4agDu_ym4VnBXcg5LO%2B2qAsp9UQxRv-gamnHgAVA%40mail.gmail.com</a>.<br />

--001a114b1430060885052cd8b78b--

.


Author: =?UTF-8?Q?Daniel_Kr=C3=BCgler?= <daniel.kruegler@gmail.com>
Date: Sun, 28 Feb 2016 19:39:19 +0100
Raw View
2016-02-28 19:27 GMT+01:00  <daniele.bordes@gmail.com>:
> @Brent
> Thank you very much.
> I still do not understand. The link you refer has at the end a link back here, which is indicated as the place to send the proposal. Am I missing something?
>

Let me jump in here. The page is not as clear as it should be. First,
you should make the cycles that are described on that page (as Brent
correctly points out), during this *read* the linked document in step
2. Albeit it only refers to LWG proposals it also applies to core
language proposals. As this paper says, you should submit the paper to
the lwgchair address. The lwgchair address is mentioned in that paper.
Note that there are specific deadlines for proposal submission. Always
watch http://www.open-std.org/jtc1/sc22/wg21/ and look for "The
deadline for the next mailing is" until a new date is provided (You
missed the last one), it doesn't make sense to submit a proposal
*before* a new deadline is provided. Don't send your proposal just at
the day of the deadline, because you need to reserve some time because
during the first lwgchair contact a proposal number will be allocated
and feedback will be given about possible formal criteria mismatches
regarding the document your are trying to submit.

Thanks,

- Daniel

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

.


Author: daniele.bordes@gmail.com
Date: Sun, 28 Feb 2016 14:51:48 -0800 (PST)
Raw View
------=_Part_2664_1645911364.1456699908743
Content-Type: multipart/alternative;
 boundary="----=_Part_2665_2128330809.1456699908744"

------=_Part_2665_2128330809.1456699908744
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi Daniel
thank you very much for "jumping in".
So, it means that the official proposal must be sent to this e-mail address=
:

lwgchair@gmail.com

is it correct?

Il giorno domenica 28 febbraio 2016 19:39:21 UTC+1, Daniel Kr=C3=BCgler ha=
=20
scritto:
>
> 2016-02-28 19:27 GMT+01:00  <daniele...@gmail.com <javascript:>>:=20
> > @Brent=20
> > Thank you very much.=20
> > I still do not understand. The link you refer has at the end a link bac=
k=20
> here, which is indicated as the place to send the proposal. Am I missing=
=20
> something?=20
> >=20
>
> Let me jump in here. The page is not as clear as it should be. First,=20
> you should make the cycles that are described on that page (as Brent=20
> correctly points out), during this *read* the linked document in step=20
> 2. Albeit it only refers to LWG proposals it also applies to core=20
> language proposals. As this paper says, you should submit the paper to=20
> the lwgchair address. The lwgchair address is mentioned in that paper.=20
> Note that there are specific deadlines for proposal submission. Always=20
> watch http://www.open-std.org/jtc1/sc22/wg21/ and look for "The=20
> deadline for the next mailing is" until a new date is provided (You=20
> missed the last one), it doesn't make sense to submit a proposal=20
> *before* a new deadline is provided. Don't send your proposal just at=20
> the day of the deadline, because you need to reserve some time because=20
> during the first lwgchair contact a proposal number will be allocated=20
> and feedback will be given about possible formal criteria mismatches=20
> regarding the document your are trying to submit.=20
>
> Thanks,=20
>
> - Daniel=20
>

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

------=_Part_2665_2128330809.1456699908744
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Daniel<div>thank you very much for &quot;jumping in&quo=
t;.</div><div>So, it means that the official proposal must be sent to this =
e-mail address:</div><div><br></div><div><a href=3D"mailto:lwgchair@gmail.c=
om" style=3D"font-family: &#39;Times New Roman&#39;; font-size: medium;">lw=
gchair@gmail.com</a></div><div><br></div><div>is it correct?<br><br>Il gior=
no domenica 28 febbraio 2016 19:39:21 UTC+1, Daniel Kr=C3=BCgler ha scritto=
:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;bo=
rder-left: 1px #ccc solid;padding-left: 1ex;">2016-02-28 19:27 GMT+01:00 =
=C2=A0&lt;<a href=3D"javascript:" target=3D"_blank" gdf-obfuscated-mailto=
=3D"3AYShj6UAwAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;javascri=
pt:&#39;;return true;" onclick=3D"this.href=3D&#39;javascript:&#39;;return =
true;">daniele...@gmail.com</a>&gt;:
<br>&gt; @Brent
<br>&gt; Thank you very much.
<br>&gt; I still do not understand. The link you refer has at the end a lin=
k back here, which is indicated as the place to send the proposal. Am I mis=
sing something?
<br>&gt;
<br>
<br>Let me jump in here. The page is not as clear as it should be. First,
<br>you should make the cycles that are described on that page (as Brent
<br>correctly points out), during this *read* the linked document in step
<br>2. Albeit it only refers to LWG proposals it also applies to core
<br>language proposals. As this paper says, you should submit the paper to
<br>the lwgchair address. The lwgchair address is mentioned in that paper.
<br>Note that there are specific deadlines for proposal submission. Always
<br>watch <a href=3D"http://www.open-std.org/jtc1/sc22/wg21/" target=3D"_bl=
ank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;http://www.google.com=
/url?q\75http%3A%2F%2Fwww.open-std.org%2Fjtc1%2Fsc22%2Fwg21%2F\46sa\75D\46s=
ntz\0751\46usg\75AFQjCNEDzTC8Ry9aTHT3x4t5uwkCZP6E8A&#39;;return true;" oncl=
ick=3D"this.href=3D&#39;http://www.google.com/url?q\75http%3A%2F%2Fwww.open=
-std.org%2Fjtc1%2Fsc22%2Fwg21%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNEDzTC8R=
y9aTHT3x4t5uwkCZP6E8A&#39;;return true;">http://www.open-std.org/jtc1/<wbr>=
sc22/wg21/</a> and look for &quot;The
<br>deadline for the next mailing is&quot; until a new date is provided (Yo=
u
<br>missed the last one), it doesn&#39;t make sense to submit a proposal
<br>*before* a new deadline is provided. Don&#39;t send your proposal just =
at
<br>the day of the deadline, because you need to reserve some time because
<br>during the first lwgchair contact a proposal number will be allocated
<br>and feedback will be given about possible formal criteria mismatches
<br>regarding the document your are trying to submit.
<br>
<br>Thanks,
<br>
<br>- Daniel
<br></blockquote></div></div>

<p></p>

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

------=_Part_2665_2128330809.1456699908744--
------=_Part_2664_1645911364.1456699908743--

.


Author: Tony V E <tvaneerd@gmail.com>
Date: Sun, 28 Feb 2016 17:27:00 -0600
Raw View
<html><head></head><body lang=3D"en-US" style=3D"background-color: rgb(255,=
 255, 255); line-height: initial;">                                        =
                                              <div style=3D"width: 100%; fo=
nt-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif=
; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, =
255, 255);">&gt; <span style=3D"line-height: initial;">Clearly, people who =
want static reflection feel that this is important.</span><span style=3D"li=
ne-height: initial;">&nbsp;</span></div><div style=3D"width: 100%; font-siz=
e: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; colo=
r: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 2=
55);"><span style=3D"line-height: initial;"><br></span></div><div style=3D"=
width: 100%; font-size: initial; font-family: Calibri, 'Slate Pro', sans-se=
rif, sans-serif; color: rgb(31, 73, 125); text-align: initial; background-c=
olor: rgb(255, 255, 255);"><span style=3D"line-height: initial;">Clearly *s=
ome* of the people who want static reflection feel that this is important. =
</span></div><div style=3D"width: 100%; font-size: initial; font-family: Ca=
libri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-a=
lign: initial; background-color: rgb(255, 255, 255);"><span style=3D"line-h=
eight: initial;"><br></span></div><div style=3D"width: 100%; font-size: ini=
tial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb=
(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);">=
<span style=3D"line-height: initial;">Some other people who want reflection=
 think it is a bad idea=E2=80=8E. But they have (so far) been outnumbered.&=
nbsp;</span></div><div style=3D"width: 100%; font-size: initial; font-famil=
y: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); t=
ext-align: initial; background-color: rgb(255, 255, 255);"><span style=3D"l=
ine-height: initial;"><br></span></div><div style=3D"width: 100%; font-size=
: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color=
: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 25=
5);"><span style=3D"line-height: initial;">There are reasons on both sides.=
&nbsp;</span></div><div style=3D"width: 100%; font-size: initial; font-fami=
ly: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); =
text-align: initial; background-color: rgb(255, 255, 255);"><span style=3D"=
line-height: initial;"><br></span></div><div style=3D"width: 100%; font-siz=
e: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; colo=
r: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 2=
55);"><span style=3D"line-height: initial;">At one point, it was at least a=
greed that reflecting on private members would require clearly different fu=
nction calls than reflecting on non-private. So you could at least have cod=
ing guidelines and be able to grep and police the usage. </span></div>     =
                                                                           =
                                                     <div style=3D"width: 1=
00%; font-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, san=
s-serif; color: rgb(31, 73, 125); text-align: initial; background-color: rg=
b(255, 255, 255);"><br></div>                                              =
                                                                           =
                                                                          <=
div style=3D"font-size: initial; font-family: Calibri, 'Slate Pro', sans-se=
rif, sans-serif; color: rgb(31, 73, 125); text-align: initial; background-c=
olor: rgb(255, 255, 255);">Sent&nbsp;from&nbsp;my&nbsp;BlackBerry&nbsp;port=
able&nbsp;Babbage&nbsp;Device</div>                                        =
                                                                           =
                                                               <table width=
=3D"100%" style=3D"background-color:white;border-spacing:0px;"> <tbody><tr>=
<td colspan=3D"2" style=3D"font-size: initial; text-align: initial; backgro=
und-color: rgb(255, 255, 255);">                           <div style=3D"bo=
rder-style: solid none none; border-top-color: rgb(181, 196, 223); border-t=
op-width: 1pt; padding: 3pt 0in 0in; font-family: Tahoma, 'BB Alpha Sans', =
'Slate Pro'; font-size: 10pt;">  <div><b>From: </b>Nicol Bolas</div><div><b=
>Sent: </b>Friday, February 26, 2016 11:05 AM</div><div><b>To: </b>ISO C++ =
Standard - Future Proposals</div><div><b>Reply To: </b>std-proposals@isocpp=
..org</div><div><b>Cc: </b>mwoehlke.floss@gmail.com</div><div><b>Subject: </=
b>[std-proposals] Re: Partial class: a separation of a class interface from=
 its implementation with no memory costs</div></div></td></tr></tbody></tab=
le><div style=3D"border-style: solid none none; border-top-color: rgb(186, =
188, 209); border-top-width: 1pt; font-size: initial; text-align: initial; =
background-color: rgb(255, 255, 255);"></div><br><div id=3D"_originalConten=
t" style=3D""><div dir=3D"ltr">On Friday, February 26, 2016 at 10:27:22 AM =
UTC-5, Matthew Woehlke wrote:<blockquote class=3D"gmail_quote" style=3D"mar=
gin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">O=
n 2016-02-26 09:48, Nicol Bolas wrote:
<br>&gt; On Friday, February 26, 2016 at 4:24:55 AM UTC-5, Igor Baidiuk wro=
te:
<br>&gt;&gt; To me, module proposal can actually handle this. A compiler sm=
art enough=20
<br>&gt;&gt; can extract "public layer" from module definition and recompil=
e dependents=20
<br>&gt;&gt; only when that public layer is changed. And please note that t=
hat public=20
<br>&gt;&gt; layer will also include at least size of private part. Somethi=
ng like=20
<br>&gt;&gt; `private: char _1234__[PRIVATE_PART_SIZE];`
<br>&gt;=20
<br>&gt; Sure... right up until you start giving reflection the ability to =
access=20
<br>&gt; privates. Which pretty much every reflection proposal that allows =
you to=20
<br>&gt; access constructs on a type does.
<br>
<br>Uh... encapsulation violation?
<br></blockquote><div><br>Yes. And?<br><br>I never said that I <i>liked</i>=
 the idea of being able to reflect into someone's privates. But like I said=
, C++ reflection proposals that allow class introspection have always inclu=
ded the ability to violate encapsulation. Just take a look at P0194; there =
is <i>nothing</i> to stop outside code from using `get_all_data_members` to=
 get all the members.<br><br>Clearly, people who want static reflection fee=
l that this is important. So if modules is going to make privates completel=
y hidden, that will clash with reflecting over privates.<br><br><i>Personal=
ly</i>, I dislike the idea of reflecting over private members, and I'd be i=
n favor of modules hiding privates.</div></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/94af8408-56e7-4f3e-a02f-8f08f3f7607c%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter">https://groups.goo=
gle.com/a/isocpp.org/d/msgid/std-proposals/94af8408-56e7-4f3e-a02f-8f08f3f7=
607c%40isocpp.org</a>.<br>
<br><!--end of _originalContent --></div></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/20160228232700.4898897.29660.6147%40g=
mail.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.com/=
a/isocpp.org/d/msgid/std-proposals/20160228232700.4898897.29660.6147%40gmai=
l.com</a>.<br />

.


Author: Tony V E <tvaneerd@gmail.com>
Date: Sun, 28 Feb 2016 17:36:20 -0600
Raw View
Quite the opposite.=C2=A0

Java is an object oriented language with 'methods'.=C2=A0

C++ (to me) is a _value_ oriented language. C++ allows types, particularly =
concrete types, to be Regular (see Stepanov's Elements of Programming). To =
be copied, passed by value, and work like int. This makes code more local a=
nd easier to reason about - which is particularly important in embedded sof=
tware such as medical devices, etc.=C2=A0

Most of my classes are not designed to be used via references and pointers=
=E2=80=8E. They are designed to be used as values. Which require full, not =
partial, classes.=C2=A0

This can't be done (at least not elegantly) in java.=C2=A0


Sent=C2=A0from=C2=A0my=C2=A0BlackBerry=C2=A0portable=C2=A0Babbage=C2=A0Devi=
ce
=C2=A0 Original Message =C2=A0
From: daniele.bordes@gmail.com
Sent: Saturday, February 27, 2016 4:41 AM
To: ISO C++ Standard - Future Proposals
Reply To: std-proposals@isocpp.org
Subject: Re: [std-proposals] Re: Partial class: a separation of a class int=
erface from its implementation with no memory costs

From many comments I become afraid that embedded software design and the re=
lated trade-offs are known only superficially and many uses C++ only like J=
ava.

--=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/0b35b9c8-4416-441e-b937-30a6fb1cfd7a%40isocpp.or=
g.

--=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/20160228233620.4898897.54467.6151%40gmail.com.

.


Author: Tony V E <tvaneerd@gmail.com>
Date: Sun, 28 Feb 2016 17:54:46 -0600
Raw View
<html><head></head><body lang=3D"en-US" style=3D"background-color: rgb(255,=
 255, 255); line-height: initial;">                                        =
                                              <div style=3D"width: 100%; fo=
nt-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif=
; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, =
255, 255);">Let's say I have modules or precompiled headers ('pch') or some=
thing similar.&nbsp;</div><div style=3D"width: 100%; font-size: initial; fo=
nt-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73,=
 125); text-align: initial; background-color: rgb(255, 255, 255);"><br></di=
v><div style=3D"width: 100%; font-size: initial; font-family: Calibri, 'Sla=
te Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: initi=
al; background-color: rgb(255, 255, 255);">Let's say the compiler looks at =
all the headers, builds the =E2=80=8Epch and also separates classes into th=
eir external and internal interfaces, and stores them separately. - foo.inp=
ch and foo.expch for the internal and external info on foo.h.&nbsp;</div><d=
iv style=3D"width: 100%; font-size: initial; font-family: Calibri, 'Slate P=
ro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: initial; =
background-color: rgb(255, 255, 255);"><br></div><div style=3D"width: 100%;=
 font-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-se=
rif; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(25=
5, 255, 255);">Then the compiler compiles your bar.cpp file =E2=80=8Ethat i=
ncludes foo.h. To start, let's say the compiler just uses foo.expch until i=
t reaches some code that needs foo.inpch, at which point the compiler loads=
 inpch as well.&nbsp;</div><div style=3D"width: 100%; font-size: initial; f=
ont-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73=
, 125); text-align: initial; background-color: rgb(255, 255, 255);"><span s=
tyle=3D"font-size: initial; text-align: initial; line-height: initial;"><br=
></span></div><div style=3D"width: 100%; font-size: initial; font-family: C=
alibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-=
align: initial; background-color: rgb(255, 255, 255);"><span style=3D"font-=
size: initial; text-align: initial; line-height: initial;">Now, say the com=
piler finishes bar.cpp without ever needing foo.inpch. =E2=80=8EAwesome. So=
 the compiler makes a note (somewhere) that bar.cpp (currently) doesn't dep=
end on foo.inpch.&nbsp;</span></div><div style=3D"width: 100%; font-size: i=
nitial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: r=
gb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);=
"><span style=3D"font-size: initial; text-align: initial; line-height: init=
ial;"><br></span></div><div style=3D"width: 100%; font-size: initial; font-=
family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 12=
5); text-align: initial; background-color: rgb(255, 255, 255);"><span style=
=3D"font-size: initial; text-align: initial; line-height: initial;">Now say=
 you edit a private member of foo.h. This causes foo.inpch to change but no=
t foo.expch.&nbsp;</span></div><div style=3D"width: 100%; font-size: initia=
l; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31=
, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);"><sp=
an style=3D"font-size: initial; text-align: initial; line-height: initial;"=
><br></span></div><div style=3D"width: 100%; font-size: initial; font-famil=
y: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); t=
ext-align: initial; background-color: rgb(255, 255, 255);"><span style=3D"f=
ont-size: initial; text-align: initial; line-height: initial;">So =E2=80=8E=
bar.cpp need not be recompiled.&nbsp;</span></div><div style=3D"width: 100%=
; font-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-s=
erif; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(2=
55, 255, 255);"><span style=3D"font-size: initial; text-align: initial; lin=
e-height: initial;"><br></span></div><div style=3D"width: 100%; font-size: =
initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: =
rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255)=
;"><span style=3D"font-size: initial; text-align: initial; line-height: ini=
tial;">If you had a compiler and build system that was smart enough.&nbsp;<=
/span></div><div style=3D"width: 100%; font-size: initial; font-family: Cal=
ibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-al=
ign: initial; background-color: rgb(255, 255, 255);"><span style=3D"font-si=
ze: initial; text-align: initial; line-height: initial;"><br></span></div><=
div style=3D"width: 100%; font-size: initial; font-family: Calibri, 'Slate =
Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: initial;=
 background-color: rgb(255, 255, 255);"><span style=3D"font-size: initial; =
text-align: initial; line-height: initial;">Currently I don't think that bu=
ild system exists. For various reasons. One reason is MACROS and all the ot=
her cruft in headers that make it hard to know if a change in foo.h affects=
 bar.cpp.&nbsp;</span></div><div style=3D"width: 100%; font-size: initial; =
font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 7=
3, 125); text-align: initial; background-color: rgb(255, 255, 255);"><span =
style=3D"font-size: initial; text-align: initial; line-height: initial;"><b=
r></span></div><div style=3D"width: 100%; font-size: initial; font-family: =
Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text=
-align: initial; background-color: rgb(255, 255, 255);"><span style=3D"font=
-size: initial; text-align: initial; line-height: initial;">Once we have mo=
dules, much of that header cruft disappears and _maybe_ we could have smart=
 build tools that make your proposal unnecessary. </span></div>            =
                                                                           =
                                              <div style=3D"width: 100%; fo=
nt-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif=
; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, =
255, 255);"><br style=3D"display:initial"></div>                           =
                                                                           =
                                                                           =
                  <div style=3D"font-size: initial; font-family: Calibri, '=
Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: in=
itial; background-color: rgb(255, 255, 255);">Sent&nbsp;from&nbsp;my&nbsp;B=
lackBerry&nbsp;portable&nbsp;Babbage&nbsp;Device</div>                     =
                                                                           =
                                                                           =
       <table width=3D"100%" style=3D"background-color:white;border-spacing=
:0px;"> <tbody><tr><td colspan=3D"2" style=3D"font-size: initial; text-alig=
n: initial; background-color: rgb(255, 255, 255);">                        =
   <div style=3D"border-style: solid none none; border-top-color: rgb(181, =
196, 223); border-top-width: 1pt; padding: 3pt 0in 0in; font-family: Tahoma=
, 'BB Alpha Sans', 'Slate Pro'; font-size: 10pt;">  <div><b>From: </b>danie=
le.bordes@gmail.com</div><div><b>Sent: </b>Friday, February 26, 2016 6:48 A=
M</div><div><b>To: </b>ISO C++ Standard - Future Proposals</div><div><b>Rep=
ly To: </b>std-proposals@isocpp.org</div><div><b>Cc: </b>daniele.bordes@gma=
il.com</div><div><b>Subject: </b>[std-proposals] Re: Partial class: a separ=
ation of a class interface from its implementation with no memory costs</di=
v></div></td></tr></tbody></table><div style=3D"border-style: solid none no=
ne; border-top-color: rgb(186, 188, 209); border-top-width: 1pt; font-size:=
 initial; text-align: initial; background-color: rgb(255, 255, 255);"></div=
><br><div id=3D"_originalContent" style=3D""><div dir=3D"ltr">You are compa=
ring the two proposals as a challenge, but I have nothing against the modul=
e construct, it sounds powerful.<br>I am only saying that is does not remov=
e all useless compile dependencies: if you argue the the size belongs to th=
e public layer, all the users that do not need the size will still suffer f=
rom this useless compile dependency.<br>Actually the users of a class can b=
e split in two groups: those that do not create instances of the class and =
those who do. Only the second need the size, but not the first, which there=
fore do not need to be recompiled when the private part of the used class (=
and as consequence, the size) is modified.<br><br>Il giorno venerd=C3=AC 26=
 febbraio 2016 13:34:06 UTC+1, Igor Baidiuk ha scritto:<blockquote class=3D=
"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc s=
olid;padding-left: 1ex;"><div dir=3D"ltr">Very simple. First, compiler is a=
ble to generate some kind of header from module, which contains only public=
 layer (including struct sizes, but not exact layout of private parts). Hav=
ing this, no one prohibits compiler from shrinking this info to "pointer-on=
ly" public layer, if needed. As a result, no need for yet another language =
construct.<br><br>I, on my side, can't see benefits from your proposal. Com=
pared to modules, you propose compile time improvement at the expense of la=
nguage complexity and additional typing and bookkeeping. Where, this compil=
e time improvement would happen only full static interface vs pointer-only =
interface. So, would _this_ _additional_ improvement be _that_ big to count=
er language complexity it introduces? Please note that pointer-dependent in=
terface will have high chances to change anyway whenever any modification h=
appens inside module - because of inlining, functions layout, etc.<br><br><=
/div></blockquote></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/e5930acf-29f3-4a46-b135-e5f5a99eb89e%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter">https://groups.goo=
gle.com/a/isocpp.org/d/msgid/std-proposals/e5930acf-29f3-4a46-b135-e5f5a99e=
b89e%40isocpp.org</a>.<br>
<br><!--end of _originalContent --></div></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/20160228235446.4898897.53712.6156%40g=
mail.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.com/=
a/isocpp.org/d/msgid/std-proposals/20160228235446.4898897.53712.6156%40gmai=
l.com</a>.<br />

.


Author: daniele.bordes@gmail.com
Date: Sun, 28 Feb 2016 16:03:33 -0800 (PST)
Raw View
------=_Part_2576_710983926.1456704213180
Content-Type: text/plain; charset=UTF-8

@Tony
Thank you for your consideration.
Just let me dissent: I think for the same reasons we could have been argued that inventing C++ was useless, because C was already enough to write complex software (Linus Torvalds thinks something like that).

--
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/c19de2dd-2e70-4456-89fb-9a2c2540d6b0%40isocpp.org.

------=_Part_2576_710983926.1456704213180--

.


Author: daniele.bordes@gmail.com
Date: Sun, 28 Feb 2016 16:12:13 -0800 (PST)
Raw View
------=_Part_513_434452193.1456704733129
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

@Tony
My problem is important because even Stroustroup himself in his C++ book (s=
ee quotes in the .pdf of my proposal) when describing the fundamental conce=
pts of C++ describes concrete-types as introducing useless compile dependen=
cies and at that point introduces polymorphism as a way to get rid of it!=
=20
My proposal can be located between those two concepts.

--=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/9c00edad-bd61-42ff-9e08-850c10d242c1%40isocpp.or=
g.

------=_Part_513_434452193.1456704733129--

.


Author: Thiago Macieira <thiago@macieira.org>
Date: Sun, 28 Feb 2016 19:34:48 -0800
Raw View
On domingo, 28 de fevereiro de 2016 12:17:31 PST Brent Friedman wrote:
> Crafting a standardization proposal with any chance of being taken
> seriously is extremely rigorous and far more complicated than posting in a
> forum. You need detailed descriptions of how this language feature will
> interact with other language features (sizeof? data layout? bitfields?),
> how it's going to impact the standard library if at all (for example,
> should std::vector now be a partial class? should string? what rules should
> we use to decide?), lawyer-speak "standardese" wording for the exact
> amendments that you are proposing to make to the official C++ standard, all
> of which will have to pass multiple rounds of face-to-face ISO
> standardization meetings. For language features like this, it also helps if
> you can provide an example implementation by modifying an existing compiler
> so we know that it is in fact possible. Often you may be able to find
> compiler writers willing to volunteer help in that effort.

I'm not asking for that, not yet anyway.

I'd like a PDF or HTML (no funny formats, no .doc, no .zip files) that
describes what this is supposed to do, what problems it solves, other
solutions that others may have proposed but you discarded (and why), the
syntax you'd like to propose, etc. Show that this is useful, with real-world
use-cases. Don't hand-wave "you don't understand embedded C++".

Since you're claiming increase in compiler performance, give evidence to
support that there will be a noticeable improvement. You're claiming some ABI-
related requirements, prove they're possible.

--
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/4331009.UTVQxYN3VU%40tjmaciei-mobl4.

.


Author: daniele.bordes@gmail.com
Date: Sun, 28 Feb 2016 21:47:06 -0800 (PST)
Raw View
------=_Part_2694_1740634401.1456724826958
Content-Type: text/plain; charset=UTF-8

@Thiago
Thank you very much for your detailed comment about what is needed.
As soon as I wrote the first entry of this thread, I already attached a .pdf which I think already contained almost every points you mentioned. Did you have a look at that?

--
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/fa12a481-11b8-4290-8288-e0f6e020c6fc%40isocpp.org.

------=_Part_2694_1740634401.1456724826958--

.


Author: Thiago Macieira <thiago@macieira.org>
Date: Sun, 28 Feb 2016 22:17:35 -0800
Raw View
On domingo, 28 de fevereiro de 2016 21:47:06 PST daniele.bordes@gmail.com
wrote:
> @Thiago
> Thank you very much for your detailed comment about what is needed.
> As soon as I wrote the first entry of this thread, I already attached a .pdf
> which I think already contained almost every points you mentioned. Did you
> have a look at that?

Yes, but it's not enough.

Please expand more with what I asked.

Please research past proposals of partial class and see if your proposal
allows for what was asked or what it doesn't permit.

PS: please quote the emails you're replying to.

--
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/2009558.8PezDYq6M1%40tjmaciei-mobl4.

.


Author: =?UTF-8?Q?Daniel_Kr=C3=BCgler?= <daniel.kruegler@gmail.com>
Date: Mon, 29 Feb 2016 07:18:14 +0100
Raw View
2016-02-28 23:51 GMT+01:00  <daniele.bordes@gmail.com>:
> Hi Daniel
> thank you very much for "jumping in".
> So, it means that the official proposal must be sent to this e-mail address:
>
> lwgchair@gmail.com
>
> is it correct?

This is correct.

- Daniel

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

.


Author: daniele.bordes@gmail.com
Date: Sun, 28 Feb 2016 22:28:35 -0800 (PST)
Raw View
------=_Part_2579_2057134638.1456727315320
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

@Thiago
I quote them, but it seems my Smartphone client does ot to work.
Anyhow, thank you very much for your suggestions.

Il giorno luned=C3=AC 29 febbraio 2016 07:17:42 UTC+1, Thiago Macieira ha s=
critto:
> On domingo, 28 de fevereiro de 2016 21:47:06 PST daniele.bordes@gmail.com=
=20
> wrote:
> > @Thiago
> > Thank you very much for your detailed comment about what is needed.
> > As soon as I wrote the first entry of this thread, I already attached a=
 .pdf
> > which I think already contained almost every points you mentioned. Did =
you
> > have a look at that?
>=20
> Yes, but it's not enough.
>=20
> Please expand more with what I asked.
>=20
> Please research past proposals of partial class and see if your proposal=
=20
> allows for what was asked or what it doesn't permit.
>=20
> PS: please quote the emails you're replying to.
>=20
> --=20
> Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
>    Software Architect - Intel Open Source Technology Center

--=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/6c6ecd3e-4f12-49ae-843a-7ef32cd0e251%40isocpp.or=
g.

------=_Part_2579_2057134638.1456727315320--

.


Author: daniele.bordes@gmail.com
Date: Mon, 29 Feb 2016 10:23:37 -0800 (PST)
Raw View
------=_Part_397_2039622600.1456770217261
Content-Type: multipart/alternative;
 boundary="----=_Part_398_760147585.1456770217262"

------=_Part_398_760147585.1456770217262
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi, the first refinement after your and other suggestions is here:

https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/VThp-UMc=
k7k

I added the following paragraphs:

- abstract
- interaction with other proposals
- compile-time improvement
- compiler issue and miscellanea
- eventual syntax simplification

Thank you very much for your attention and support.


Il giorno luned=C3=AC 29 febbraio 2016 07:17:42 UTC+1, Thiago Macieira ha=
=20
scritto:
>
> On domingo, 28 de fevereiro de 2016 21:47:06 PST daniele...@gmail.com=20
> <javascript:>=20
> wrote:=20
> > @Thiago=20
> > Thank you very much for your detailed comment about what is needed.=20
> > As soon as I wrote the first entry of this thread, I already attached a=
=20
> .pdf=20
> > which I think already contained almost every points you mentioned. Did=
=20
> you=20
> > have a look at that?=20
>
> Yes, but it's not enough.=20
>
> Please expand more with what I asked.=20
>
> Please research past proposals of partial class and see if your proposal=
=20
> allows for what was asked or what it doesn't permit.=20
>
> PS: please quote the emails you're replying to.=20
>
> --=20
> Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org=20
>    Software Architect - Intel Open Source Technology Center=20
>
>

--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/92e73ced-0dcf-4ed6-b883-00fdc5d2433d%40isocpp.or=
g.

------=_Part_398_760147585.1456770217262
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi, the first refinement after your and other suggestions =
is here:<div><br></div><div>https://groups.google.com/a/isocpp.org/forum/#!=
topic/std-proposals/VThp-UMck7k</div><div><br></div><div>I added the follow=
ing paragraphs:</div><div><br></div><div><div>- abstract</div><div>- intera=
ction with other proposals</div><div>- compile-time improvement</div><div>-=
 compiler issue and miscellanea</div><div>- eventual syntax simplification<=
/div><div><br></div><div>Thank you very much for your attention and support=
..</div><div><br></div><div><br>Il giorno luned=C3=AC 29 febbraio 2016 07:17=
:42 UTC+1, Thiago Macieira ha scritto:<blockquote class=3D"gmail_quote" sty=
le=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left=
: 1ex;">On domingo, 28 de fevereiro de 2016 21:47:06 PST <a href=3D"javascr=
ipt:" target=3D"_blank" gdf-obfuscated-mailto=3D"4Um7O1q6AwAJ" rel=3D"nofol=
low" onmousedown=3D"this.href=3D&#39;javascript:&#39;;return true;" onclick=
=3D"this.href=3D&#39;javascript:&#39;;return true;">daniele...@gmail.com</a=
>=20
<br>wrote:
<br>&gt; @Thiago
<br>&gt; Thank you very much for your detailed comment about what is needed=
..
<br>&gt; As soon as I wrote the first entry of this thread, I already attac=
hed a .pdf
<br>&gt; which I think already contained almost every points you mentioned.=
 Did you
<br>&gt; have a look at that?
<br>
<br>Yes, but it&#39;s not enough.
<br>
<br>Please expand more with what I asked.
<br>
<br>Please research past proposals of partial class and see if your proposa=
l=20
<br>allows for what was asked or what it doesn&#39;t permit.
<br>
<br>PS: please quote the emails you&#39;re replying to.
<br>
<br>--=20
<br>Thiago Macieira - thiago (AT) <a href=3D"http://macieira.info" target=
=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;http://www.goo=
gle.com/url?q\75http%3A%2F%2Fmacieira.info\46sa\75D\46sntz\0751\46usg\75AFQ=
jCNEswDUBNCNanbu7euhqLn_62FW8ag&#39;;return true;" onclick=3D"this.href=3D&=
#39;http://www.google.com/url?q\75http%3A%2F%2Fmacieira.info\46sa\75D\46snt=
z\0751\46usg\75AFQjCNEswDUBNCNanbu7euhqLn_62FW8ag&#39;;return true;">maciei=
ra.info</a> - thiago (AT) <a href=3D"http://kde.org" target=3D"_blank" rel=
=3D"nofollow" onmousedown=3D"this.href=3D&#39;http://www.google.com/url?q\7=
5http%3A%2F%2Fkde.org\46sa\75D\46sntz\0751\46usg\75AFQjCNHGRJdo5_JYG1Dowztw=
AHAKs80XSA&#39;;return true;" onclick=3D"this.href=3D&#39;http://www.google=
..com/url?q\75http%3A%2F%2Fkde.org\46sa\75D\46sntz\0751\46usg\75AFQjCNHGRJdo=
5_JYG1DowztwAHAKs80XSA&#39;;return true;">kde.org</a>
<br>=C2=A0 =C2=A0Software Architect - Intel Open Source Technology Center
<br>
<br></blockquote></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/92e73ced-0dcf-4ed6-b883-00fdc5d2433d%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/92e73ced-0dcf-4ed6-b883-00fdc5d2433d=
%40isocpp.org</a>.<br />

------=_Part_398_760147585.1456770217262--
------=_Part_397_2039622600.1456770217261--

.