View source code
					
 Display the source code in std/meta.d from which this page was generated on
 github.
					
				
				
 Improve this page
					
 Quickly fork, edit online, and submit a pull request for this page.
 Requires a signed-in GitHub account. This works well for small changes.
 If you'd like to make larger changes you may want to consider using
 local clone.
					
				
				
 Page wiki
					
 View or edit the community-maintained wiki page associated with this page.
					
				
			
			Template std.meta.MostDerived
			Returns the type from TList that is the most derived from type T. If none are found, T is returned.
Arguments
template MostDerived(T, TList...);
Example
class A { }
class B : A { }
class C : B { }
alias Types = AliasSeq!(A, C, B);
MostDerived!(Object, Types) x;  // x is declared as type C
static assert(is(typeof(x) == C));