2012-10-02 17:09:43 +08:00
|
|
|
template<typename T> class Vector;
|
|
|
|
|
|
|
|
template<typename T> class List {
|
|
|
|
public:
|
|
|
|
void push_back(T);
|
2013-10-07 16:02:11 +08:00
|
|
|
|
|
|
|
struct node {};
|
|
|
|
node *head;
|
|
|
|
unsigned size;
|
2012-10-02 17:09:43 +08:00
|
|
|
};
|
2012-10-02 21:06:13 +08:00
|
|
|
|
2014-04-19 11:48:30 +08:00
|
|
|
extern List<double> *instantiateListDoubleDeclaration;
|
|
|
|
|
2012-10-02 21:06:13 +08:00
|
|
|
namespace A {
|
|
|
|
class Y {
|
|
|
|
template <typename T> friend class WhereAmI;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
template <typename T> class A::WhereAmI {
|
|
|
|
public:
|
|
|
|
static void func() {}
|
|
|
|
};
|
2013-09-10 00:55:27 +08:00
|
|
|
|
|
|
|
template<typename T> struct Outer {
|
|
|
|
struct Inner {};
|
|
|
|
};
|
2014-04-25 06:45:46 +08:00
|
|
|
|
|
|
|
template<bool, bool> struct ExplicitInstantiation {
|
|
|
|
void f() {}
|
|
|
|
};
|