The technique used here is called &quot;X Macro&quot;. There are article on wikipedia and wikibooks.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;X_Macro" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;X_Macro</a><p><a href="https:&#x2F;&#x2F;en.wikibooks.org&#x2F;wiki&#x2F;C_Programming&#x2F;Preprocessor#X-Macros" rel="nofollow">https:&#x2F;&#x2F;en.wikibooks.org&#x2F;wiki&#x2F;C_Programming&#x2F;Preprocessor#X-M...</a><p>It&#x27;s very useful in some situations. It offers, in a way, a mean to do a sort of compile-time introspection on some class&#x2F;enum.