On Wednesday, 29 October 2014 at 11:49:59 UTC, John Colvin wrote:
On Wednesday, 29 October 2014 at 10:01:18 UTC, Gareth Foster wrote:
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.

std.traits.hasIndirections any use for you?

To more complete this:

    template Foo(T) if(!hasIndirections!T)

http://dlang.org/phobos/std_traits.html#hasIndirections

Reply via email to