www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Q: Determining array type

reply Myron Alexander <someone somewhere.com> writes:
Hello.

How do you determine if a type is an array? I saw the hack in std.boxer 
but was wondering if there is a language standard / better way.

Regards,

Myron.
May 18 2007
parent reply Downs <default_357-line yahoo.de> writes:
Myron Alexander wrote:
 Hello.
 
 How do you determine if a type is an array? I saw the hack in std.boxer 
 but was wondering if there is a language standard / better way.
 
 Regards,
 
 Myron.
Here's what I would do. template isArray(T) { const isArray=false; } template isArray(T: T[]) { const isArray=true; } Beware though, this was not extensively tested. From what I can see, it _should_ work, and also does in simple test cases, but that's no guarantee. Use it like "[static] if (isArray!(Type)) { do stuff here } "
May 18 2007
parent Myron Alexander <someone somewhere.com> writes:
Downs wrote:
 Myron Alexander wrote:
 Hello.

 How do you determine if a type is an array? I saw the hack in 
 std.boxer but was wondering if there is a language standard / better way.

 Regards,

 Myron.
Here's what I would do. template isArray(T) { const isArray=false; } template isArray(T: T[]) { const isArray=true; } Beware though, this was not extensively tested. From what I can see, it _should_ work, and also does in simple test cases, but that's no guarantee. Use it like "[static] if (isArray!(Type)) { do stuff here } "
Thanks, rather ingenious.
May 19 2007