Home | History | Annotate | Download | only in drs

Lines Matching full:template

16   template <class T> T f(int);
17 template <class T, class U> T f(U) = delete; // expected-error 0-1{{extension}}
27 template<typename T> T f();
28 template<int (*g)()> struct X {
31 template struct X<f>;
38 template<typename T> struct Q { S s; }; // expected-error {{incomplete}}
39 template<typename T> void f() { S s; } // expected-error {{incomplete}}
81 template <class T> struct A : T {
93 template void A<B>::h(B); // expected-note {{instantiation}}
97 template<typename T, typename U> T checked_cast(U from) { U::error; }
98 template<typename T, typename U> T checked_cast(U *from);
102 template<typename T> T f(int);
103 template<typename T, typename U> T f(U) { T::error; }
110 template<typename T> class X {
136 template<typename T> struct S {
139 template<typename T> void S<T>::f(int = 0) {} // expected-error {{default arguments cannot be added}}
176 template<typename T> friend void f(S, T) {}
187 template<typename T> void f(T);
190 template<typename A, typename B> struct C {};
241 template <class T> class A {
263 template <class T> class A<T*> {
269 template <class T1, class T2, int I> struct B {
285 template <int, typename T> struct X { typedef T type; };
286 template <class T> class A {
294 template <class T> int A<T>::f() {
301 template<typename T> void dr225_f(T t) { dr225_g(t); } // expected-error {{call to function 'dr225_g' that is neither visible in the template definition nor found by argument-dependent lookup}}
303 template void dr225_f(int); // expected-note {{in instantiation of}}
306 template<typename T = void> void f() {}
313 template<typename T> struct S {
314 template<typename U = void> void g();
318 template<typename U> struct X;
319 template<typename U> void h();
321 template<typename T> template<typename U> void S<T>::g() {}
322 template<typename T> template<typename U = void> struct S<T>::X {}; // expected-error {{cannot add a default template arg}}
323 template<typename T> template<typename U = void> void S<T>::h() {} // expected-error {{cannot add a default template arg}}
325 template<typename> void friend_h();
328 template<typename=void> struct friend_B;
333 template<typename=void> void friend_f();
334 template<typename=void> void friend_g() {}
335 template<typename=void> void friend_h() {}
336 template<typename=void> void friend_i() {}
342 template<typename> void friend_i();
344 template<typename=void, typename X> void foo(X) {}
345 template<typename=void, typename X> struct Foo {}; // expected-error {{missing a default argument}} expected-note {{here}}
350 template<typename=void, typename X, typename, typename Y> int foo(X, Y);
351 template<typename, typename X, typename=void, typename Y> int foo(X, Y);
367 template <class T> struct X {
370 template <class T> struct Y {
371 void g(X<T> x) { x.template X<T>::f(); }
376 template<typename T> void f();
377 template<typename T> void f<T*>() {} // expected-error {{function template partial specialization}}
378 template<> void f<int>() {}
411 template<typename T> struct A { void f() { T::error; } };
412 template<typename T> struct B : A<T> {};
413 template struct B<int>; // ok
437 template <int X> void f(); // expected-note 2{{candidate}}
438 template <int X> void g(B);
441 template <class T> void f(T t); // expected-note 2{{candidate}}
442 template <class T> void g(T t); // expected-note {{candidate}}
490 template<typename T> struct E {};
500 // class template, not the injected-class-name of the class. But that's
565 template<typename T> struct X { void f(); };
566 template<typename T> void X<T>::f() {}
572 template<int I> void f(double x[]);
575 template<int I = 3> void g(double x[]); // expected-error 0-1{{extension}}
620 template<typename T> struct A {
651 template<typename> void g(int);
659 template<int> int &g(int); // expected-note {{candidate}}
683 template<typename T> struct A {};
684 template struct A<int>; // expected-note {{previous}}
685 template struct A<int>; // expected-error {{duplicate explicit instantiation}}
688 template<> struct A<float>;
689 template struct A<float>;
694 template struct A<char>; // expected-note {{here}}
695 template<> struct A<char>; // expected-error {{explicit specialization of 'dr259::A<char>' after instantiation}}
697 template<> struct A<double>;
698 template<> struct A<double>;
699 template<> struct A<double> {}; // expected-note {{here}}
700 template<> struct A<double> {}; // expected-error {{redefinition}}
702 template<typename T> struct B; // expected-note {{here}}
703 template struct B<int>; // expected-error {{undefined}}
705 template<> struct B<float>;
706 template struct B<float>;
803 template <class T> void f(T) {} // expected-note 1-4{{here}}
804 template <class T> void g(T) {} // expected-note {{candidate}}
805 template <> void f(int);
806 template <> void f(char);
807 template <> void f(double);
808 template <> void g(char);
814 template <> void N::f(char) {} // expected-error {{'M' does not enclose namespace 'N'}}
815 template <class T> void g(T) {}
816 template <> void g(char) {}
817 template void f(long);
822 template void N::f(unsigned long);
827 template void h(long); // expected-error {{does not refer to a function template}}
828 template <> void f(double) {} // expected-error {{no function template matches}}
831 template <class T> void g(T) {} // expected-note {{candidate}}
833 template <> void N::f(char) {}
834 template <> void f(int) {} // expected-error {{no function template matches}}
836 template void f(short);
841 template void N::f(unsigned short);
845 template void g(int); // expected-error {{ambiguous}}
848 template<typename T> void f(T) {} // expected-note {{candidate}}
849 template void f(short); // expected-error {{ambiguous}}
914 template<typename T> // expected-note 2{{here}}
958 template<typename T> void f(T, int); // expected-note {{match}}
959 template<typename T> void f(int, T); // expected-note {{match}}
960 template<> void f<int>(int, int) {} // expected-error {{ambiguous}}
964 template<class T> struct A {
966 template<class T2> struct B {}; // expected-note {{here}}
970 template<class T>
971 template<class T2>
983 template<typename T> struct C { typename T::error error; }; // expected-error {{cannot be used prior to '::'}}
1006 template<typename T> struct X {