Template Constraints

psychoticRabbit meagain at meagain.com
Sat Feb 24 03:30:45 UTC 2018


On Saturday, 24 February 2018 at 02:54:13 UTC, Jonathan wrote:
> I am having trouble finding many useful explanations of using 
> template constraints beyond basic usage.
>
> I would like to have a template constrant to enforce that a 
> type can be explicitly cast to another type:
>
>     void (T)(T t)
>             if (cast(int) T)//force `cast(int) T` to be possible
>         {
>             // Yay I know `t` can be cast to an `int`!
>     }
>
> Is this possible?

import std.traits : isIntegral;
void testTemplate(T)(T x) if (isIntegral!T)
{
     writeln(x, " is an integral. yeah!");

}




More information about the Digitalmars-d-learn mailing list