On Thursday, 19 June 2014 at 12:06:58 UTC, Marc Schütz wrote:
On Wednesday, 18 June 2014 at 14:05:12 UTC, Rene Zwanenburg
wrote:
On Tuesday, 17 June 2014 at 13:07:33 UTC, Marc Schütz wrote:
On Monday, 16 June 2014 at 23:04:33 UTC, Rene Zwanenburg
wrote:
This one depends on taste, but these helpers can be
eliminated by changing the Header definition a little. It's
the same union / anonymous struct trick from the previous
post, only this time with bitfields:
http://dpaste.dzfl.pl/13258b0ce0c4
If you define nested structs/unions, it's better to make them
static whenever possible, because non-static nested structs
have an additional hidden field for the context.
Good call. In this case it doesn't add the hidden field, but
for the sake of consistency I agree it's better to add static.
Interesting, I thought it's there for all nested structs. But I
see it's only added if the struct has a method, but then it's
always there, no matter whether the methods actually accesses
the outer context. Probably for consistency reasons...
The absence of the hidden field without methods is probably to
maintain C compitability; code that is both valid C and D must
have the same semantics. I think that includes struct layout?