type to test
true if T is a class nested inside another, with the conditions described above; false otherwise
1 class C 2 { 3 int outer; 4 } 5 static assert(!isInnerClass!C); 6 7 class Outer1 8 { 9 class Inner1 { } 10 class Inner2 11 { 12 int outer; 13 } 14 } 15 static assert(isInnerClass!(Outer1.Inner1)); 16 static assert(!isInnerClass!(Outer1.Inner2)); 17 18 static class Outer2 19 { 20 static class Inner 21 { 22 int outer; 23 } 24 } 25 static assert(!isInnerClass!(Outer2.Inner));
Determines whether T is a class nested inside another class and that T.outer is the implicit reference to the outer class (i.e. outer has not been used as a field or method name)