Lines Matching full:class
4 template<class T, class U = T> class B {};
5 template<template<class> class P, class T> void f(P<T>);
17 template<template<typename> class t,typename T> struct match<t<T>>;
19 template<template<typename,typename> class t,typename T0,typename T1>
27 template<class T1, class T2 = float> struct A;
29 template<class T3> struct B;
30 template<template<class T4 > class TT1, class T5 > struct B<TT1<T5 >> ;
31 template<template<class T6, class T7> class TT2, class T8, class T9> struct B<TT2<T8, T9>> {};
36 template<class T1, int V1 = 1> struct A;
38 template<class T2> struct B;
39 template<template<class T3 > class TT1, class T4 > struct B<TT1<T4 >> ;
40 template<template<class T5, int V2> class TT2, class T6, int V3> struct B<TT2<T6, V3>> {};
45 template <class T1> struct A;
47 template<class T2, template <class T3> class T4 = A> struct B {};
49 template<class T5> struct C;
51 template<template<class T6> class TT1, class T7> struct C<TT1<T7>>;
53 template<template<class T8, template <class T9> class> class TT2,
54 class T10, template <class T11> class TT3>
61 template <class T1, class T2 = float> struct A;
63 template <class T3> struct B;
65 template <template <class T4> class TT1, class T5> struct B<TT1<T5>>;
67 template <class T6, class T7> struct B<A<T6, T7>> {};
73 template <class T1, class T2 = float> struct A {};
75 template <template <class T4> class TT1, class T5> void f(TT1<T5>);
76 template <class T6, class T7> void f(A<T6, T7>) {};
84 template<class T2> struct A;
85 template<template<class ...T3s> class TT1, class T4> struct A<TT1<T4>> ;
86 template<template<class T5 > class TT2, class T6> struct A<TT2<T6>> {};
88 template<class T1> struct B;
93 template<class T2> struct A;
94 template<template<class ...T3s> class TT1, class ...T4> struct A<TT1<T4...>> ;
95 template<template<class T5 > class TT2, class ...T6> struct A<TT2<T6...>> {};
97 template<class T1> struct B;
102 template<class T1, class T2 = float> struct A;
104 template<class T3> struct B;
106 template<template<class T4 > class TT1, class T5 > struct B<TT1<T5 >>;
108 template<template<class T6, class ...T7s> class TT2, class T8, class ...T9s> struct B<TT2<T8, T9s...>> {};
114 template<class T1, class T2> struct A;
116 template<template<class T1> class TT1, class T2> struct A<TT1<T2>, typename TT1<T2>::type>;
119 template<template<class T3, class T4> class TT2, class T5, class T6>
123 template <class T7, class T8 = T7> struct B { using type = int; };
130 template <template <class T1> class TT1> struct A {};
132 template <template <class T2> class TT2> void f(A<TT2>);
136 template <template <class T3, class T4 = float> class TT3> void f(A<TT3>) {};
139 template <class T5, class T6 = int> struct B;
146 template <template <class... > class TT1> struct A { static constexpr int V = 0; };
147 template <template <class > class TT2> struct A<TT2> { static constexpr int V = 1; };
148 template <template <class, class> class TT3> struct A<TT3> { static constexpr int V = 2; };
150 template <class ... > struct B;
151 template <class > struct C;
152 template <class, class > struct D;
153 template <class, class, class> struct E;
162 template<class T> struct nondeduced { using type = T; };
163 template<class T8, class T9 = float> struct B;
166 template<class T1, class T2, class T3> struct A;
168 template<template<class, class> class TT1,
169 class T1, class T2, class T3, class T4>
172 template<template<class> class UU1,
173 template<class> class UU2,
174 class U1, class U2>
180 template<class T1, class T2, class T3> struct A;
182 template<template<class, class> class TT1,
183 class T1, class T2, class T3, class T4>
187 template<template<class> class UU1,
188 template<class> class UU2,
189 class U1, class U2>
197 template<class T1, class T2, class T3> struct A;
199 template<template<class, class> class TT1,
200 class T1, class T2, class T3, class T4>
204 template<template<class> class UU1,
205 class U1, class U2>
213 template<class T1, class T2, class T3> struct A;
215 template<template<class, class> class TT1,
216 class T1, class T2, class T3, class T4>
220 template<template<class> class UU1,
221 class U1, class U2>
229 template<class T1, class T2> struct A;
231 template<template<class, class> class TT1,
232 class T1, class T2, class T3, class T4>
236 template<template<class> class UU1,
237 class U1, class U2>
245 template<class T1, class T2> struct A;
247 template<template<class, class> class TT1,
248 class T1, class T2, class T3>
252 template<template<class> class UU1,
253 class U1, class U2>
264 template<class T, class U> struct A {};
266 template<template<class> class TT> auto f(TT<int> a) { return a; }
279 template <class T1, int E1> struct A {
282 template <template <class T3> class TT> void f(TT<int> v) {
292 template <class T1, class ...T2s> struct A {
296 template <template <class T3> class TT> void f(TT<int> v) {
306 template <class T1, int V1, int V2> struct A {
311 template <template <class T1> class TT1> auto f(TT1<int>) {
315 template <template <class T2, int V3> class TT2> auto g(TT2<double, 1>) {
316 // expected-note@-1 {{too few template arguments for class template 'A'}}
329 template <class T1, class T2 = T1*> struct A {
333 template <template <class> class TT> TT<float> f(TT<int>);
348 template<template<int, int...> class> struct A {};
357 template<template<char, int...> class> struct A {};
362 template<template<int...> class> struct A {};
371 template<template<char...> class> struct A {};
379 template <template <class> class TT> void f(TT<int>) {};
380 template <class...> struct A {};
384 template <template <class> class TT> void f(TT<int>) {}
385 template <template <class...> class TT> void f(TT<int>) = delete;
387 template <class> struct A {};
391 template <template <class> class TT> void f(TT<int>) = delete;
392 template <template <class...> class TT> void f(TT<int>) {}
393 template <class...> struct A {};
398 template<template<A> class TT1> void f(TT1<{}>) {}
404 template <template <class> class TT> void f(TT<int>) {};
406 template <class...> struct B {};
411 template <template <class> class TT> void f(TT<int>) {}
412 template <template <class...> class TT> void f(TT<int>) = delete;
414 template <class> struct B {};
419 template <template <class> class TT> void f(TT<int>) = delete;
420 template <template <class...> class TT> void f(TT<int>) {}
422 template <class...> struct B {};
427 template <template <class> class TT> operator TT<int>() { return {}; }
429 template <class...> struct B {};
434 template <template <class> class TT> operator TT<int>() { return {}; };
435 template <template <class...> class TT> operator TT<int>() = delete;
437 template <class> struct B {};
442 template <template <class> class TT> operator TT<int>() = delete;
443 template <template <class...> class TT> operator TT<int>() { return {}; }
445 template <class...> struct B {};
449 template <template <class, class...> class TT, class T1, class... T2s>
451 template <class> struct A {};
458 template<template<class... T1s> class TT1> struct A {};
460 template<template<class T2> class TT2> struct A<TT2>;
462 template<class... T3s> struct B;
466 template<template<class... T1s> class TT1> struct A;
468 template<template<class T2> class TT2> struct A<TT2> {};
470 template<class T3> struct B;
478 template <typename T> class foo {};
480 template <template <typename...> class MapType, typename Value>
483 template <template <typename...> class MapType, typename Value>
493 template <class T> concept C1 = true;
497 template <class T> concept C2 = C1<T> && true;
500 template <class T> concept D1 = true;
504 template<template<C1, class... T1s> class TT1> // expected-note {{TT1' declared here}}
506 template<D1, class T2> struct B {}; // expected-note {{'B' declared here}}
511 template<template<C2, class... T1s> class TT1> struct A {};
512 template<C1, class T2> struct B {};
516 template<template<C1, class... T1s> class TT1> // expected-note {{'TT1' declared here}}
518 template<C2, class T2> struct B {}; // expected-note {{'B' declared here}}
524 template<template<C1... T1s> class TT1> // expected-note {{'TT1' declared here}}
532 template<template<C2... T1s> class TT1> // expected-note {{'TT1' declared here}}
539 template<template<C1... T1s> class TT1> // expected-note {{'TT1' declared here}}
546 template<template<class... T1s> class TT1>
552 template<template<C1... T1s> class TT1>
554 template<class T2> struct B {};
558 template<template<C1... T1s> class TT1> // expected-note {{'TT1' declared here}}
565 template<template<class...> requires C1<int> class TT1> // expected-note {{'TT1' declared here}}
568 template<class> requires C2<int> struct B {}; // expected-note {{'B' declared here}}
573 template<template<class...> requires C2<int> class TT1> struct A {};
574 template<class> requires C1<int> struct B {};
580 template <class> struct D {};
582 template <class ET, template <class> class VT>
591 template <template <auto... Va> class TT> struct A {};
597 template<template<auto... Va1, auto Va2> class> struct A {};
607 template<template<auto... Va1, auto... Va2> class> struct A {};
619 template<template<short> class TT1> void f(TT1<0>);
620 template<template<int> class TT2> void f(TT2<0>) {}
626 template<template<A&> class TT1> void f(TT1<a>);
627 template<template<const A&> class TT2> void f(TT2<a>) {}
633 template<template<A> class TT1> void f(TT1<{}>);
634 template<template<int> class TT2> void f(TT2<{}>) {}
640 template<template<A*> class TT1> void f(TT1<&a>);
641 template<template<const A*> class TT2> void f(TT2<&a>) {}
647 template<template<int A::*> class TT1> void f(TT1<&A::m>);
648 template<template<const int A::*> class TT2> void f(TT2<&A::m>) {}
655 template<template<nullptr_t> class TT2> void f(TT2<nullptr>);
656 template<template<A*> class TT1> void f(TT1<nullptr>) {}