On Wednesday, 29 April 2015 at 16:55:58 UTC, bearophile wrote:
Mafi:

https://marfisc.wordpress.com/2015/04/29/using-d-templates-for-gamedev/

What do you think? Any remarks?

The SDL_Event is a union. Accessing it is inherently unsafe for type consistency and memory safety. The SDL library mitigates this problem by adding a tag (the member type) which encodes which union-member is to be used.<

In Rust you use the built-in tagged unions and call it a day...

Well, it is an already existing C library I am only adapting. And additionally the shonwn template encapsulates the whole outer loop as well.


[...]

The default should be aligned just like the other cases. Often is a good idea to use "final switch" with enumerations. Probably there are ways to make that code more dry, using a TypeTuple of pairs like ("SDL_QUIT", "quit").

Bye,
bearophile

I cannot use a final switch there because it is not enumerated type. The values are just constants. Moreover I want to skip unneeded labels and instead unify them into the default branch. This is impossible with a final switch.

Reply via email to