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?

Reply via email to