1 template <class> struct A { static const int n = 1; } ; 2 template <int> struct B; 3 4 template <class S> 5 struct restype_order { 6 static const int s = A<S>::n; 7 typedef typename B<(s > 0)>::t t; 8 }; 9