Lines Matching full:template

20 //     -- function template
22 template<typename T> void f0(T) { in f0()
26 template<> void f0(NonDefaultConstructible) { } in f0()
32 template<> void f0(int);
33 template<> void f0(long);
36 template<> void N0::f0(int) { } // okay in f0()
39 template<> void N0::f0(long) { } // expected-error{{does not enclose namespace}} in f0()
42 template<> void N0::f0(double);
44 template<> void N0::f0(double) { } in f0()
47 template<typename T> void f(T);
49 template<> void f(int);
52 // -- class template
55 template<typename T>
65 template<typename U>
69 template<typename U>
75 template<typename T>
76 template<typename U>
81 template<typename T> T N0::X0<T>::member;
83 template<> struct N0::X0<void> { };
87 template<> struct N0::X0<const void> { }; // expected-error{{not in a namespace enclosing 'N0'}}
91 template<> struct X0<volatile void>;
94 template<> struct N0::X0<volatile void> {
98 // -- member function of a class template
99 template<> void N0::X0<void*>::f1(void *) { } in f1()
106template<> void X0<volatile void>::f1(void *) { } // expected-error{{no function template matches}} in f1()
108 template<> void X0<const volatile void*>::f1(const volatile void*);
115 // -- static data member of a class template
118 template<>
121 template<> long X0<long>::member = 17;
123 template<> float X0<float>::member;
125 template<> double X0<double>::member;
132 template<> int N0::X0<int>::member;
134 template<> float N0::X0<float>::member = 3.14f;
137 template<> double N0::X0<double>::member = 3.14; // expected-error{{does not enclose namespace}}
140 // -- member class of a class template
143 template<>
146 template<>
149 template<>
152 template<>
155 template<>
159 template<>
162 template<>
166 template<>
169 template<>
179 // -- member class template of a class template
181 template<>
182 template<>
185 template<> template<>
188 template<> template<>
191 template<> template<>
195 template<> template<>
198 template<> template<>
202 template<> template<>
211 // -- member function template of a class template
213 template<>
214 template<>
217 template<> template<>
220 template<> template<>
223 template<> template<>
227 template<> template<>
230 template<> template<>
234 template<> template<>
247 template<typename Z>
249 template <class T, class U> class Inner;
251 template<typename T, typename U> void f(Inner<T, U>&);
254 template<> void f(MyInner&);