Lines Matching full:template
39 template<class T> struct A {
40 template<class U> friend struct A;
43 template<class T> struct B {
45 template<class U> friend struct B;
54 template<unsigned char> struct S {};
67 template<typename T> struct S {};
68 template<typename T> void f(S<T> &&); // expected-note {{no known conversion from 'S<int>' to 'S<int> &&'}}
69 template<typename T> void g(T &&);
70 template<typename T> void h(const T &&); // expected-note {{no known conversion from 'S<int>' to 'const dr606::S<int> &&'}}
184 template<typename T> T f();
185 template<> int f() {} // expected-note {{previous}}
186 template<> int f<int>() {} // expected-error {{redefinition}}
195 template<typename T> struct A {};
196 A<auto> x = A<int>(); // expected-error {{'auto' not allowed in template argument}} expected-error 0-1{{extension}}
280 template<typename T> int (&g(T))[sizeof f(T())];
287 template<typename T> struct A { A(); ~A(); };
288 template<typename T> A<T>::A<T>() {} // expected-error {{cannot have template arguments}}
289 template<typename T> A<T>::~A<T>() {}
291 template<typename T> struct B { B(); ~B(); };
292 template<typename T> B<T>::B() {}
293 template<typename T> B<T>::~B() {}
295 struct C { template<typename T> C(); C(); };
296 template<typename T> C::C() {}
298 template<> C::C<int>() {} // expected-error {{constructor name}} expected-error {{unqualified-id}}
301 template<typename T> struct D { template<typename U> D(); D(); };
302 template<typename T> D<T>::D() {} // expected-note {{previous}}
303 template<typename T> template<typename U> D<T>::D() {}
304 template<typename T> D<T>::D<T>() {} // expected-error {{redefinition}} expected-error {{cannot have template arg}}
315 template<typename T> struct A {
326 template<class T> friend struct A<T>::B; // expected-warning {{not supported}}
327 template<class T> friend void A<T>::f(); // expected-warning {{not supported}}
328 template<class T> friend void A<T>::g(); // expected-warning {{not supported}}
329 template<class T> friend void A<T>::C::h(); // expected-warning {{not supported}}
332 template<> struct A<int> {