xref: /aosp_15_r20/external/stg/test_cases/info_tests/template/template_parameter.cc (revision 9e3b08ae94a55201065475453d799e8b1378bea6)
1 template<typename A1> struct T1 {
2   A1 a;
3   int b;
4 };
5 template<typename B1, typename B2> struct T2 {
6   B1 b;
7   B2 c;
8   int d;
9 };
10 template<int C1, typename C2> struct T3 {
11   int e[C1];
12   C2 f;
13   int g;
14 };
15 
16 template<template<typename> typename P1> union T4{
17   P1<int> h;
18   int i;
19 };
20 template<template<typename, typename> typename P2> union T5{
21   P2<int, int> j;
22   int k;
23 };
24 template<template<auto, typename> typename P3> union T6{
25   P3<17, int> l;
26   int m;
27 };
28 
29 template<template<template<auto, typename> typename> typename P4> struct T7 {
30   P4<T3> n;
31   int o;
32 };
33 
34 T4<T1> v1;
35 T5<T2> v2;
36 T6<T3> v3;
37 T7<T6> v4;
38