template specialization for arrays

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sat Oct 29 16:14:54 PDT 2011


On 10/29/11 6:02 PM, Timon Gehr wrote:
> This works:
>
> void abc(T, U=void, size_t N=0) (T parm1) {
> writeln("simpleparm: ", parm1);
> }
>
> void abc(T: string) (T parm1) {
> writeln("string : ", parm1);
> }
>
> void abc(T:U[], U) (T parm1) if (isDynamicArray!T) {
> writeln("dynamic array : ", parm1);
> }
>
> void abc(T:U[N], U, size_t N) (T parm1) {
> writeln("static array : ", parm1);
> }
>
> void main(string[] args) {
> abc(1);
> abc("str");
> int[] arr = [1, 2];
> abc(arr);
> int[2] arr2 =[3, 4];
> abc(arr2);
> }

What's wrong with isStaticArray? Also, OP may want to look at 
isNarrowString.


Andrei


More information about the Digitalmars-d mailing list