Template Constraints
    Adam D. Ruppe 
    destructionator at gmail.com
       
    Sat Feb 24 03:04:07 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.
The constraint is just like static if as to what it allows 
inside, so you can check almost anything in there.
Like for the cast, you might do
void name(T)(T t) if(__traits(compiles, cast(int) t) {}
just seeing it the cast compiles.
You might also do
if(is(T : int))
which asks if T is implicitly convertible to int. But since you 
want explicit cast, the compiles is prolly the way to go.
is: https://dlang.org/spec/expression.html#IsExpression
compiles: https://dlang.org/spec/traits.html#compiles
    
    
More information about the Digitalmars-d-learn
mailing list