Loop over enum
#include <stdio.h>
#include <stdint.h>
#define forI(type, name, count) \
for(type name = {}; name < (count); *(int64_t *)&name += 1)
enum struct Thing{
a,b,c,
Total
};
int main() {
forI(Thing, i, Thing::Total)
printf("Hello World!\n");
return 0;
}INFO