template <class T4>class Xone {
protected:
T4* next;
T4* prev;
T4 value;
public:
Xone(): next(0), prev(0), value(1999){}
Xone(T4 init): value(init) {}
template <class T4> friend bool isequal (Xone<T4>& lhs, Xone<T4>& rhs);};
template <class T6>class Xtwo {
protected:
T6* next;
T6* prev;
T6 value;
public:
Xtwo(): next(0), prev(0), value(1999){}
Xtwo(T6 init): value(init) {}
template <class T6> class nested { T6 value;
public:
nested(): value( T6(0)) {}
};
};
template <class T8>class Xthree {
protected:
T8* next;
T8* prev;
T8 value;
public:
Xthree(): next(0), prev(0), value(1999){}
Xthree(T8 init): value(init) {}
template <class T8> T8 comp_ge(T8 test) { T8 local_value;
if (local_value > value)
return local_value;
else
return value;
}
};
template <class T10, int i> struct Xfour { int T10; void f(){
char T10;
}
};
template <class T12, int i> struct Xfive {
void f();
};
template <class T13, int i> void Xfive<T13,i>::f() { int T13; int T12; }
template <class T14, class T14> class Xsix { private:
public:
void f();
};
template <class T12> class T12;
template <class T16, int i, class T161> class Xseven { private:
char T161; public:
template <class U>
friend bool fooy(U u);
template <class T161>
friend bool foo(T161 u)
{
Xseven<T161, 5, int> obj;
return (obj.inst == u.inst);
}
};
template <class T>
struct S1
{
template <class U>
void f(U u)
{
S1<U> s2u(u);
s2u.g();
}
template <class U> void f2(U u)
{
S1<U> s2u(u);
s2u.g();
}
};
template <class T18, int i> class Xten { float i; };
template <long l>class Xeleven {
public:
template <long l> friend bool isequal (Xeleven<5> lhs, Xeleven<5> rhs); };
template <long l>class Xtwelve {
public:
template <long l> class nested { long value;
public:
nested(): value(0) {}
};
};
template <long l>struct Xthirteen {
template <long l> long comp_ge(long test) { long local_value;
if (local_value > value)
return local_value;
else
return value;
}
};