On Saturday, 6 April 2013 at 20:35:54 UTC, Sebastian Graf wrote:
On Saturday, 6 April 2013 at 15:38:55 UTC, Tobias Pankrath
wrote:
Is there however some way to generate that switch with cases
for each enum member in a template, so that each case calls
<some-passed-template-func>(Machine)() instantiated with the
appropriate enum member? I know you could do it with string
mixins, but that be a hassle to implement...
Eventually, I want my code to look like
void func(Machine machine)() { ... }
switchOnEachEnumMember!func(machine);
http://dpaste.dzfl.pl/ce8366a7
The foreach is unrolled at compile time.
Perfect! So that's a final switch...
The final switch isn't important here. You could use a normal
switch with a default block instead.