Template constraint: T is a value type

Gareth Foster via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Oct 29 03:01:16 PDT 2014


Hi there,

I'm looking to write a function template that operates only on 
value types. Basically I'm looking for an equivalent of

   where T: struct

from C# (http://msdn.microsoft.com/en-us/library/d5x73970.aspx)

I was thinking that maybe using

   template Foo(T) if (is(T : struct) or is(T: union)) { ... }

or perhaps

   template Foo(T) if (!is(T : class)) { ... }

would be correct, but I fear the first may be too limiting (would 
simple data types such as int, char etc be allowed here? I'd 
guess not.) and the second may be too lax.

Any advice? Am I even going in remotely the right direction? 
Thanks.


More information about the Digitalmars-d-learn mailing list