1#[macro_export]
38macro_rules! queue_of {
39 ($t1:ty) => {
40 QueueSingle<$t1>
41 };
42
43 ($t1:ty, $t2:ty) => {
44 Queue<$t1, QueueSingle<$t2>>
45 };
46
47 ($t1:ty, $t2:ty, $t3:ty) => {
48 Queue<$t1, Queue<$t2, QueueSingle<$t3>>>
49 };
50
51 ($t1:ty, $t2:ty, $t3:ty, $t4:ty) => {
52 Queue<$t1, Queue<$t2, Queue<$t3, QueueSingle<$t4>>>>
53 };
54
55 ($t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty) => {
56 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, QueueSingle<$t5>>>>>
57 };
58
59 ($t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty, $t6:ty) => {
60 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, Queue<$t5, QueueSingle<$t6>>>>>>
61 };
62
63 ($t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty, $t6:ty, $t7:ty) => {
64 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, Queue<$t5, Queue<$t6, QueueSingle<$t7>>>>>>>
65 };
66
67 ($t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty, $t6:ty, $t7:ty, $t8:ty) => {
68 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, Queue<$t5, Queue<$t6, Queue<$t7, QueueSingle<$t8>>>>>>>>
69 };
70
71 (
72 $t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty, $t6:ty, $t7:ty, $t8:ty,
73 $t9:ty
74 ) => {
75 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, Queue<$t5, Queue<$t6, Queue<$t7, Queue<$t8,
76 QueueSingle<$t9>
77 >>>>>>>>
78 };
79
80 (
81 $t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty, $t6:ty, $t7:ty, $t8:ty,
82 $t9:ty, $t10:ty
83 ) => {
84 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, Queue<$t5, Queue<$t6, Queue<$t7, Queue<$t8,
85 Queue<$t9, QueueSingle<$t10>>
86 >>>>>>>>
87 };
88
89 (
90 $t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty, $t6:ty, $t7:ty, $t8:ty,
91 $t9:ty, $t10:ty, $t11:ty
92 ) => {
93 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, Queue<$t5, Queue<$t6, Queue<$t7, Queue<$t8,
94 Queue<$t9, Queue<$t10, QueueSingle<$t11>>>
95 >>>>>>>>
96 };
97
98 (
99 $t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty, $t6:ty, $t7:ty, $t8:ty,
100 $t9:ty, $t10:ty, $t11:ty, $t12:ty
101 ) => {
102 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, Queue<$t5, Queue<$t6, Queue<$t7, Queue<$t8,
103 Queue<$t9, Queue<$t10, Queue<$t11, QueueSingle<$t12>>>>
104 >>>>>>>>
105 };
106
107 (
108 $t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty, $t6:ty, $t7:ty, $t8:ty,
109 $t9:ty, $t10:ty, $t11:ty, $t12:ty, $t13:ty
110 ) => {
111 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, Queue<$t5, Queue<$t6, Queue<$t7, Queue<$t8,
112 Queue<$t9, Queue<$t10, Queue<$t11, Queue<$t12, QueueSingle<$t13>>>>>
113 >>>>>>>>
114 };
115
116 (
117 $t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty, $t6:ty, $t7:ty, $t8:ty,
118 $t9:ty, $t10:ty, $t11:ty, $t12:ty, $t13:ty, $t14:ty
119 ) => {
120 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, Queue<$t5, Queue<$t6, Queue<$t7, Queue<$t8,
121 Queue<$t9, Queue<$t10, Queue<$t11, Queue<$t12, Queue<$t13, QueueSingle<$t14>>>>>>
122 >>>>>>>>
123 };
124
125 (
126 $t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty, $t6:ty, $t7:ty, $t8:ty,
127 $t9:ty, $t10:ty, $t11:ty, $t12:ty, $t13:ty, $t14:ty, $t15:ty
128 ) => {
129 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, Queue<$t5, Queue<$t6, Queue<$t7, Queue<$t8,
130 Queue<$t9, Queue<$t10, Queue<$t11, Queue<$t12, Queue<$t13, Queue<$t14, QueueSingle<$t15>>>>>>>
131 >>>>>>>>
132 };
133
134 (
135 $t1:ty, $t2:ty, $t3:ty, $t4:ty, $t5:ty, $t6:ty, $t7:ty, $t8:ty,
136 $t9:ty, $t10:ty, $t11:ty, $t12:ty, $t13:ty, $t14:ty, $t15:ty, $t16:ty
137 ) => {
138 Queue<$t1, Queue<$t2, Queue<$t3, Queue<$t4, Queue<$t5, Queue<$t6, Queue<$t7, Queue<$t8,
139 Queue<$t9, Queue<$t10, Queue<$t11, Queue<$t12, Queue<$t13, Queue<$t14, Queue<$t15, QueueSingle<$t16>>>>>>>>
140 >>>>>>>>
141 };
142}