2 // Origin: Ewgenij Gawrilow <gawrilow@math.TU-Berlin.DE>
4 extern "C" void abort ();
6 template <template <class X> class B, class A>
7 struct is_instance_of {
11 template <template <class X> class B, class T>
12 struct is_instance_of<B, B<T> > {
16 template <class X> struct C { };
17 template <class X> struct D { };
20 bool is_C (const T&) {
21 return is_instance_of<C,T>::answer;