1 template<typename T> class Vector;
3 template<typename T> class List {
12 extern List<double> *instantiateListDoubleDeclaration;
13 extern List<long> *instantiateListLongDeclaration;
17 template <typename T> friend class WhereAmI;
21 template <typename T> class A::WhereAmI {
26 template<typename T> struct Outer {
30 template<bool, bool> struct ExplicitInstantiation {
34 template<typename> struct DelayUpdates {};
36 template<typename T> struct OutOfLineInline {
41 template<typename T> inline void OutOfLineInline<T>::f() {}
42 template<typename T> inline void OutOfLineInline<T>::g() {}
43 template<typename T> inline void OutOfLineInline<T>::h() {}
45 namespace EmitDefaultedSpecialMembers {
46 template<typename T> struct SmallVectorImpl {
48 ~SmallVectorImpl() {} // non-trivial dtor
50 template<typename T, unsigned N> struct SmallVector : SmallVectorImpl<T> {
53 template<unsigned N> struct SmallString : SmallVector<char, N> {
58 template<typename T> struct WithUndefinedStaticDataMember {
62 template<typename T> struct __attribute__((packed, aligned(2))) WithAttributes {
65 WithAttributes<int> *get_with_attributes();