digitalmars.D - Implicit instantiation of template constants?
- torhu (12/12) Feb 06 2007 When replacing macros in C, this pattern is useful:
When replacing macros in C, this pattern is useful: template MAKE_ID(char a, char b, char c, char d) { const int MAKE_ID = ((a)<<24) | ((b)<<16) | ((c)<<8) | (d); } const int TEST_ID = MAKE_ID!('A','B','C','D'); Would it be possible to have these implicitly instantiated? That would make it look and feel exactly like the C macro, which is nice when the library in question is just a set of D bindings. You don't need to explain the use of the question mark in the docs, etc. And would it be possible to allow such templates to be used to initialize enums? That's currently an error.
Feb 06 2007