Dire che devo trattare ushort
e uint
in qualche modo, ma string
in modo diverso. Quindi suppongo di aver bisogno di un modello specializzato per string
e altro per entrambi ushort
e uint
. È?Tipi multipli in un modello D specializzato
// for most
void func(T)(T var) { ... }
// for uint and ushort
void func(T: uint, ushort)(T var) { ... }
Questa è l'idea, anche se il codice non può compilare. È valido o molto cattivo?
Si noti che nel primo esempio utilizza Vincoli di modello e il secondo è un condizionale in fase di compilazione, "statico se". Il primo dovrebbe essere usato se ci sono tipi che il modello non gestisce, il secondo può essere usato con il primo o quando tutto viene gestito. –