Implicit instantiation of template constants?
torhu
fake at address.dude
Tue Feb 6 14:38:59 PST 2007
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.
More information about the Digitalmars-d
mailing list