Base interfaces tuple
    John C 
    johnch_atms at hotmail.com
       
    Sat Mar 15 04:44:09 PDT 2008
    
    
  
I've been trying to write a template that returns a tuple of all base 
interfaces from either a derived class or interface. D2 has 
InterfacesTuple, but it doesn't work on interfaces, nor does it return a 
complete list of base types.
Here's what I'm aiming for:
   interface I1 {}
   interface I2 : I1 {}
   interface I3 : I2 {}
   interface I4 : I3 {}
   writefln(typeid(AllBaseInterfaces!(I4));
Which should produce:
   (I1,I2,I3)
BaseTypeTuple from std.traits seems to be the starting point, and 
recursively calling that template gets successive base types, but 
putting that together into a single template has defeated me. Anyone 
accomplished this?
Cheers,
John.
    
    
More information about the Digitalmars-d-learn
mailing list