Lines Matching full:template

4   template<typename T> struct identity { typedef T type; };
9 template<typename T> struct C { typedef B type; };
15 namespace N { template<typename T> struct S { void f(); }; }
17 namespace N { template<> void T::f() {} } in f()
21 template< typename S >
24 template< int >
30 template< typename S >
38 template<>
39 template<>
46 template<typename S> struct C {
49 template<typename S> struct D {
52 template<> void D<int>::A::f() { in f()
57 template<typename T> struct A {
58 template<typename U> struct B {
64 // #A specialize the member template for
66 // leaving the member template "unspecialized"
69 template<> template<typename U>
76 // class template, so we write template<> for each
77 // specialized template (14.7.3/15).
78 template<> template<typename U>
81 // #2 define the unspecialized member template's
83 template<typename T> template<typename U>
87 // specialize the member template again, now
90 template<> template<>
96 // defines #3. There is no enclosing class template, so
97 // we write no "template<>".
114 template <typename T> struct S {
124 template<> void N2::X::foo() {} in foo()
131 template<class T>
150 template<>
156 template<int>
162 template<> struct X<0>::Y { static const int Z = 1; };
163 template<> struct X<1>::Y { static const int Z = 1; };
166template<> const int X<1>::Y::Z; // expected-error{{extraneous 'template<>' in declaration of var…
170 template<class,class=int>struct S;
171 template<class X>struct S<X> {
172 template<class T> class F;
175 template<class A>
176 template<class B>
182 template <typename T1> struct A {
183 template <typename T2> struct B {
184 template <typename T3> struct C {
190 template <> struct A<int> {
191 template <typename T2> struct B {
192 template <typename T3> struct C {
198 template <> template <typename T3> struct A<int>::B<int>::C {
202 template <> template <> struct A<int>::B<int>::C<int> {
206 template <> template<> template <typename T2> struct A<bool>::B<bool>::C {
218 template <typename STRING_TYPE> class BasicStringPiece;
219 template <> class BasicStringPiece<int> { };
220 extern template class BasicStringPiece<int>;
221 template class BasicStringPiece<int>;
225 template <typename STRING_TYPE> class BasicStringPiece;
226 template <> class BasicStringPiece<int> { };
227template class BasicStringPiece<int>; // expected-note {{explicit instantiation definition is her…
228 …extern template class BasicStringPiece<int>; // expected-error {{explicit instantiation declarati…
232template <typename STRING_TYPE> class BasicStringPiece; // expected-note {{template is declared h…
233template class BasicStringPiece<int>; // expected-error {{explicit instantiation of undefined tem…
234 template <> class BasicStringPiece<int> { };
235 extern template class BasicStringPiece<int>;
239template <typename STRING_TYPE> class BasicStringPiece; // expected-note {{template is declared h…
240template class BasicStringPiece<int>; // expected-error {{explicit instantiation of undefined tem…
241 …extern template class BasicStringPiece<int>; // expected-error {{explicit instantiation declarati…
242 template <> class BasicStringPiece<int> { };
246template <typename STRING_TYPE> class BasicStringPiece; // expected-note {{template is declared h…
247 …extern template class BasicStringPiece<int>; // expected-error {{explicit instantiation of undefi…
248 template class BasicStringPiece<int>;
249 template <> class BasicStringPiece<int> { };
253template <typename STRING_TYPE> class BasicStringPiece; // expected-note {{template is declared h…
254 …extern template class BasicStringPiece<int>; // expected-error {{explicit instantiation of undefi…
255 template <> class BasicStringPiece<int> { };
256 template class BasicStringPiece<int>;
259 // The same again, with a defined template class.
262 template <typename STRING_TYPE> class BasicStringPiece {};
263 template <> class BasicStringPiece<int> { };
264 extern template class BasicStringPiece<int>;
265 template class BasicStringPiece<int>;
269 template <typename STRING_TYPE> class BasicStringPiece {};
270 template <> class BasicStringPiece<int> { };
271template class BasicStringPiece<int>; // expected-note {{explicit instantiation definition is her…
272 …extern template class BasicStringPiece<int>; // expected-error {{explicit instantiation declarati…
276 template <typename STRING_TYPE> class BasicStringPiece {};
277template class BasicStringPiece<int>; // expected-note {{explicit instantiation first required he…
278template <> class BasicStringPiece<int> { }; // expected-error {{explicit specialization of 'spec…
279 extern template class BasicStringPiece<int>;
283 template <typename STRING_TYPE> class BasicStringPiece {};
284template class BasicStringPiece<int>; // expected-note {{explicit instantiation definition is her…
285 …extern template class BasicStringPiece<int>; // expected-error {{explicit instantiation declarati…
286template <> class BasicStringPiece<int> { }; // expected-error {{redefinition of 'spec_vs_expl_in…
290 template <typename STRING_TYPE> class BasicStringPiece {};
291 …extern template class BasicStringPiece<int>; // expected-note {{explicit instantiation first requ…
292 template class BasicStringPiece<int>;
293template <> class BasicStringPiece<int> { }; // expected-error {{explicit specialization of 'spec…
297 template <typename STRING_TYPE> class BasicStringPiece {};
298 …extern template class BasicStringPiece<int>; // expected-note {{explicit instantiation first requ…
299template <> class BasicStringPiece<int> { }; // expected-error {{explicit specialization of 'spec…
300 template class BasicStringPiece<int>;
306 template <typename STRING_TYPE> class BasicStringPiece {};
307 template <> class BasicStringPiece<int> { };
308template class BasicStringPiece<int>; // expected-note {{previous explicit instantiation is here}}
309template class BasicStringPiece<int>; // expected-error {{duplicate explicit instantiation of 'Ba…
313 template <typename STRING_TYPE> class BasicStringPiece;
314 template <> class BasicStringPiece<int> { }; // expected-note {{previous definition is here}}
315 template class BasicStringPiece<int>;
316template <> class BasicStringPiece<int> { }; // expected-error {{redefinition of 'spec_vs_expl_in…
320 template <typename STRING_TYPE> class BasicStringPiece;
321 template <> class BasicStringPiece<int> { }; // expected-note {{previous definition is here}}
322 extern template class BasicStringPiece<int>;
323template <> class BasicStringPiece<int> { }; // expected-error {{redefinition of 'spec_vs_expl_in…
327 template <typename STRING_TYPE> class BasicStringPiece;
328 template <> class BasicStringPiece<int> { }; // expected-note {{previous definition is here}}
329 extern template class BasicStringPiece<int>;
330 template class BasicStringPiece<int>;
331template <> class BasicStringPiece<int> { }; // expected-error {{redefinition of 'spec_vs_expl_in…