Lines Matching full:template
14 template<typename T>
20 template<typename T>
21 int decltype(tfoo<T>())::i; // expected-error{{nested name specifier 'decltype(tfoo<T>())::' for declaration does not refer into a class, class template or class template partial specialization}}
22 template<typename T>
23 void decltype(tfoo<T>())::func() { // expected-error{{nested name specifier 'decltype(tfoo<T>())::' for declaration does not refer into a class, class template or class template partial specialization}}
39 template<typename T> void ft(); // expected-note {{here}}
40 template<typename T> void gt(); // expected-note {{here}}
41 template<typename T> extern int mt; // expected-note {{here}} expected-warning {{extension}}
42 template<typename T> extern int nt; // expected-note {{here}} expected-warning {{extension}}
43 template<typename T> struct U; // expected-note {{here}}
44 template<typename T> struct V; // expected-note {{here}}
59 // When named by (unqualified) template-id, we do look in the inline
65 template<> void ft<int>() {}
66 template void ft<char>(); // expected-error {{undefined}}
68 template<typename T> int mt<T*>;
69 template<> int mt<int>;
70 template int mt<int*>;
71 template int mt<char>; // expected-error {{undefined}}
73 template<typename T> struct U<T*> {};
74 template<> struct U<int> {};
75 template struct U<int*>;
76 template struct U<char>; // expected-error {{undefined}}
92 template<> void N::gt<int>() {}
93 template void N::gt<char>(); // expected-error {{undefined}}
95 template<typename T> int N::nt<T*>;
96 template<> int N::nt<int>;
97 template int N::nt<int*>;
98 template int N::nt<char>; // expected-error {{undefined}}
100 template<typename T> struct N::V<T*> {};
101 template<> struct N::V<int> {};
102 template struct N::V<int*>;
103 template struct N::V<char>; // expected-error {{undefined}}