Lines Matching full:template

5 template<typename FromCl>
7 template<class ToCl>
11 template<class X, class Y>
12 void isa(const Y &Val) { return isa_impl_cl<Y>::template isa<X>(Val); } in isa()
17 // Implicit template-ids.
18 template<typename T>
20 template<typename U>
23 template<typename U>
33 // Not template-id expressions, but they almost look like it.
34 template<typename F>
39 template<int I>
48 template struct X<3>;
50 // 'template' as a disambiguator.
53 template<typename U>
56 template<typename U>
59 void f3(int); // expected-note 2{{declared as a non-template here}}
62 template<typename U>
65 template<typename U>
67 Y0::template f1<U>(0); in f()
68 …Y0::template f1(0); // expected-error {{a template argument list is expected after a name prefixed… in f()
69 …this->template f1(0); // expected-error {{a template argument list is expected after a name prefix… in f()
71 Y0::template f2<U>(0); in f()
72 …Y0::template f2(0); // expected-error {{a template argument list is expected after a name prefixed… in f()
74 …Y0::template f3(0); // expected-error {{'f3' following the 'template' keyword does not refer to a in f()
75 …Y0::template f3(); // expected-error {{'f3' following the 'template' keyword does not refer to a t… in f()
80 …x = Y0::template f4(0); // expected-error {{a template argument list is expected after a name pref… in f()
84 …x = this->template f4(0); // expected-error {{a template argument list is expected after a name pr… in f()
88 template<typename U> void Y0
89 ::template // expected-error {{expected unqualified-id}}
95 template<typename T>
97 template<typename U>
100 template<typename U>
103 void f3(int); // expected-note 4{{declared as a non-template here}}
106 template<typename U>
109 template<typename U>
111 Y1::template f1<U>(0); in f()
112 …Y1::template f1(0); // expected-error {{a template argument list is expected after a name prefixed… in f()
113 …this->template f1(0); // expected-error {{a template argument list is expected after a name prefix… in f()
115 Y1::template f2<U>(0); in f()
116 …Y1::template f2(0); // expected-error {{a template argument list is expected after a name prefixed… in f()
118 …Y1::template f3(0); // expected-error {{'f3' following the 'template' keyword does not refer to a in f()
119 …Y1::template f3(); // expected-error {{'f3' following the 'template' keyword does not refer to a t… in f()
124 …x = Y1::template f4(0); // expected-error {{a template argument list is expected after a name pref… in f()
128 …x = this->template f4(0); // expected-error {{a template argument list is expected after a name pr… in f()
134 template<typename T>
138 template<typename U>
140 Y1::template f1<U>(0); in f()
141 …Y1::template f1(0); // expected-error {{a template argument list is expected after a name prefixed… in f()
142 …p->template f1(0); // expected-error {{a template argument list is expected after a name prefixed … in f()
144 Y1::template f2<U>(0); in f()
145 …Y1::template f2(0); // expected-error {{a template argument list is expected after a name prefixed… in f()
147template f3(0); // expected-error {{'f3' following the 'template' keyword does not refer to a temp… in f()
148template f3(); // expected-error {{'f3' following the 'template' keyword does not refer to a templ… in f()
152 …x = Y1::f4<int>(0); // expected-error {{use 'template'}} expected-error {{assigning to 'int' from … in f()
153template f4(0); // expected-error {{assigning to 'int' from incompatible type 'void'}} expected-er… in f()
156 …pected-error {{assigning to 'int' from incompatible type 'void'}} expected-error {{use 'template'}} in f()
157template f4(0); // expected-error {{assigning to 'int' from incompatible type 'void'}} expected-er… in f()
164 template<int I>
166 static void b1(); // expected-note {{declared as a non-template here}}
170 template<int I>
172template B<I>::template b1(); // expected-error {{'b1' following the 'template' keyword does not r… in f5()
175 template void f5<0>(); // expected-note {{in instantiation of function template specialization 'f5<…
178 template <template <typename> class D>
180 template class D<C>; // expected-error {{expected '<' after 'template'}}
181 template<> class D<C>; // expected-error {{cannot specialize a template template parameter}}
182 …friend class D<C>; // expected-error {{alias template 'D' cannot be referenced with the 'class' sp…
187 template<typename T> using D = int; // expected-note {{declared here}}
194 template <typename T> struct O {
199 template <typename T> using I = typename O<T>::v; // #TypeAlias
203 template <typename T> int foo() { in foo()
204 return T::template I<int>; in foo()
205 …ted-error@-1 {{'P::I' is expected to be a non-type template, but instantiated to a type alias temp… in foo()
206 // expected-note@#TypeAlias {{type alias template declared here}} in foo()
211 …return Q().foo<P>(); // expected-note-re {{function template specialization {{.*}} requested here}} in bar()
220 template <class T> struct add_pointer { // #add_pointer
229 // expected-error@-2 {{no template named '__add_pointer'}} in main()
234 // expected-error@-1 {{no template named '__add_pointer'}} in main()
243 template <typename T> struct C {
244 template <int TT> class Type {}; // #ClassTemplate
247 template <typename T1> struct A {
249 template <typename T2>
253 C<T1>::template Type<2>; in foo()
254 …r@-1 {{'C<float>::Type' is expected to be a non-type template, but instantiated to a class templat… in foo()
255 // expected-note@#ClassTemplate {{class template declared here}} in foo()
259 foo(C<T1>::template Type<2>); in foo()
260 …r@-1 {{'C<float>::Type' is expected to be a non-type template, but instantiated to a class templat… in foo()
261 // expected-note@#ClassTemplate {{class template declared here}} in foo()
263 foo(C<T1>::template Type<2>()); in foo()
264 …r@-1 {{'C<float>::Type' is expected to be a non-type template, but instantiated to a class templat… in foo()
266 // expected-note@#ClassTemplate {{class template declared here}} in foo()
268 foo(typename C<T1>::template Type<2>()); in foo()