templates
    bearophile via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Thu Jul 17 13:44:00 PDT 2014
    
    
  
ddos:
> one possible solution would be a static if, like this:
>
> TVector opBinary(string op)(TVector rhs)
> {
>   static if(n == 4)
>   {
>     // fast impl for n==4
>   }
>   else
>   {
>     // old impl
>   }
> }
>
> but i'd like to avoid this since it makes the code very ugly to 
> read
>
> any suggestions :) ?
You can add a template constraint and write two functions:
TVector opBinary(string op)(TVector rhs) if(n == 4) {...
TVector opBinary(string op)(TVector rhs) if(n != 4) {...}
Bye,
bearophile
    
    
More information about the Digitalmars-d-learn
mailing list