How about a special null template parameter?

Timon Gehr via Digitalmars-d digitalmars-d at puremagic.com
Fri Aug 19 14:07:42 PDT 2016


On 19.08.2016 20:25, Engine Machine wrote:
> So we can create types relationships easier:
>
> class Type(T) : Type!null
> {
>    int x;
>    static if (T is Dog)
>        int y;


alias Seq(T...)=T;

template TypeParent(T...) if(T.length==1){
     static if(is(typeof(T[0])==typeof(null))) alias TypeParent = Seq!();
     else alias TypeParent = Seq!(Type!null);
}

class Type(T...): TypeParent!T if(T.length==1){
    int x;
    static if (T is Dog)
        int y;
}



More information about the Digitalmars-d mailing list