Date: Thu, 12 Sep 2019 14:05:05 +0200
On Mon, 9 Sep 2019 at 21:00, Rene Rivera via SG14 <sg14_at_[hidden]>
wrote:
> My entry for the agenda at the CppCon meeting is...
>
> "Member Layout Control"
> <
> https://raw.githack.com/grafikrobot/papers/master/wg21/member_layout/member_layout_D1605R0.html
> >
>
> It's "rough" first attempt at this. But it's good enough for discussion.
>
>
Hi, nice idea.
Some questions/remarks I had while reading:
1. If I understand correctly, as soon as you add `layout:` in a class
definition, you _must_ list all non-static member objects. Correct?
2. I infer that two classes with the same name in the same namespace with
the same members but different layouts leads to a compilation error.
Am I correct?
3. In my humble opinion, the alignment should be part of the layout as it
is directly related.
4. Could you add examples of ABI maintenance while evolving a class? I can
see how but I think it would be useful in the paper.
5. How would that impact classes with virtual function members? Should the
implementation of the virtual calls (through v-table usually)_ be ignored
and be implementation-defined? Or should it be visible in the layout
section?
A. Joël Lamotte
wrote:
> My entry for the agenda at the CppCon meeting is...
>
> "Member Layout Control"
> <
> https://raw.githack.com/grafikrobot/papers/master/wg21/member_layout/member_layout_D1605R0.html
> >
>
> It's "rough" first attempt at this. But it's good enough for discussion.
>
>
Hi, nice idea.
Some questions/remarks I had while reading:
1. If I understand correctly, as soon as you add `layout:` in a class
definition, you _must_ list all non-static member objects. Correct?
2. I infer that two classes with the same name in the same namespace with
the same members but different layouts leads to a compilation error.
Am I correct?
3. In my humble opinion, the alignment should be part of the layout as it
is directly related.
4. Could you add examples of ABI maintenance while evolving a class? I can
see how but I think it would be useful in the paper.
5. How would that impact classes with virtual function members? Should the
implementation of the virtual calls (through v-table usually)_ be ignored
and be implementation-defined? Or should it be visible in the layout
section?
A. Joël Lamotte
Received on 2019-09-12 07:07:48