On 1/23/2012 10:58 AM, Manu wrote:
So I've been fiddling, but I can't work it out. Trying to make something like isStaticArray to match a vector...template isVector(T : __vector(U[N]), U, size_t N) { enum bool isVector = true; } template isVector(T) { enum bool isVector = false; } Complains: test.d:122: Error: Integer constant expression expected instead of N test.d:122: Error: size of type U is not known test.d:122: Error: base type of __vector must be a 16 byte static array, not U[N] A size_t template arg should be an integer constant expression, and consequently, the size of U should be known... Bug?
Code would have to be added to the compiler to make that work. In the meantime, you can simply enumerate the supported aliases for vector types.
