1//-*- C++ -*- 2 3// Intended to exercise all syntactic parts of the C++ language that 4// aren't part of C. 5 6namespace std { 7 namespace debug { 8 } 9} 10 11using namespace std::debug; 12using namespace std; 13 14namespace safestl = ::std::debug; 15 16class Base1 { 17}; 18 19class Base2 { }; 20 21class Derived1 : Base1, virtual public Base2 { }; 22 23/* Template classes, template functions */ 24enum E1 { EC1 }; 25template <E1 v> class C1 {}; 26template <E1 v> C1<v> f1() { return C1<v>(); } 27void f2() { f1<EC1>(); } 28