Skip to content
This repository was archived by the owner on Aug 19, 2021. It is now read-only.

Commit 1db78bc

Browse files
committed
Removed internal constructors for EventQueue::context
1 parent df04ea6 commit 1db78bc

File tree

2 files changed

+51
-189
lines changed

2 files changed

+51
-189
lines changed

Event.h

Lines changed: 36 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class Event<void()> {
6060
return 0;
6161
}
6262

63-
new (p) C(*reinterpret_cast<F*>(e+1));
63+
new (p) C((C){*reinterpret_cast<F*>(e+1)});
6464
equeue_event_delay(p, e->delay);
6565
equeue_event_period(p, e->period);
6666
equeue_event_dtor(p, &local::dtor);
@@ -91,32 +91,27 @@ class Event<void()> {
9191

9292
template <typename F, typename B0>
9393
Event(EventQueue *q, F f, B0 b0) {
94-
new (this) Event(q, EventQueue::
95-
context10<F, B0>(f, b0));
94+
new (this) Event(q, (EventQueue::context10<F, B0>){f, b0});
9695
}
9796

9897
template <typename F, typename B0, typename B1>
9998
Event(EventQueue *q, F f, B0 b0, B1 b1) {
100-
new (this) Event(q, EventQueue::
101-
context20<F, B0, B1>(f, b0, b1));
99+
new (this) Event(q, (EventQueue::context20<F, B0, B1>){f, b0, b1});
102100
}
103101

104102
template <typename F, typename B0, typename B1, typename B2>
105103
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2) {
106-
new (this) Event(q, EventQueue::
107-
context30<F, B0, B1, B2>(f, b0, b1, b2));
104+
new (this) Event(q, (EventQueue::context30<F, B0, B1, B2>){f, b0, b1, b2});
108105
}
109106

110107
template <typename F, typename B0, typename B1, typename B2, typename B3>
111108
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3) {
112-
new (this) Event(q, EventQueue::
113-
context40<F, B0, B1, B2, B3>(f, b0, b1, b2, b3));
109+
new (this) Event(q, (EventQueue::context40<F, B0, B1, B2, B3>){f, b0, b1, b2, b3});
114110
}
115111

116112
template <typename F, typename B0, typename B1, typename B2, typename B3, typename B4>
117113
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4) {
118-
new (this) Event(q, EventQueue::
119-
context50<F, B0, B1, B2, B3, B4>(f, b0, b1, b2, b3, b4));
114+
new (this) Event(q, (EventQueue::context50<F, B0, B1, B2, B3, B4>){f, b0, b1, b2, b3, b4});
120115
}
121116

122117
Event(const Event &e) {
@@ -279,7 +274,7 @@ class Event<void(A0)> {
279274
return 0;
280275
}
281276

282-
new (p) C(*reinterpret_cast<F*>(e+1), a0);
277+
new (p) C((C){*reinterpret_cast<F*>(e+1), a0});
283278
equeue_event_delay(p, e->delay);
284279
equeue_event_period(p, e->period);
285280
equeue_event_dtor(p, &local::dtor);
@@ -310,32 +305,27 @@ class Event<void(A0)> {
310305

311306
template <typename F, typename B0>
312307
Event(EventQueue *q, F f, B0 b0) {
313-
new (this) Event(q, EventQueue::
314-
context11<F, B0, A0>(f, b0));
308+
new (this) Event(q, (EventQueue::context11<F, B0, A0>){f, b0});
315309
}
316310

317311
template <typename F, typename B0, typename B1>
318312
Event(EventQueue *q, F f, B0 b0, B1 b1) {
319-
new (this) Event(q, EventQueue::
320-
context21<F, B0, B1, A0>(f, b0, b1));
313+
new (this) Event(q, (EventQueue::context21<F, B0, B1, A0>){f, b0, b1});
321314
}
322315

323316
template <typename F, typename B0, typename B1, typename B2>
324317
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2) {
325-
new (this) Event(q, EventQueue::
326-
context31<F, B0, B1, B2, A0>(f, b0, b1, b2));
318+
new (this) Event(q, (EventQueue::context31<F, B0, B1, B2, A0>){f, b0, b1, b2});
327319
}
328320

329321
template <typename F, typename B0, typename B1, typename B2, typename B3>
330322
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3) {
331-
new (this) Event(q, EventQueue::
332-
context41<F, B0, B1, B2, B3, A0>(f, b0, b1, b2, b3));
323+
new (this) Event(q, (EventQueue::context41<F, B0, B1, B2, B3, A0>){f, b0, b1, b2, b3});
333324
}
334325

335326
template <typename F, typename B0, typename B1, typename B2, typename B3, typename B4>
336327
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4) {
337-
new (this) Event(q, EventQueue::
338-
context51<F, B0, B1, B2, B3, B4, A0>(f, b0, b1, b2, b3, b4));
328+
new (this) Event(q, (EventQueue::context51<F, B0, B1, B2, B3, B4, A0>){f, b0, b1, b2, b3, b4});
339329
}
340330

341331
Event(const Event &e) {
@@ -498,7 +488,7 @@ class Event<void(A0, A1)> {
498488
return 0;
499489
}
500490

501-
new (p) C(*reinterpret_cast<F*>(e+1), a0, a1);
491+
new (p) C((C){*reinterpret_cast<F*>(e+1), a0, a1});
502492
equeue_event_delay(p, e->delay);
503493
equeue_event_period(p, e->period);
504494
equeue_event_dtor(p, &local::dtor);
@@ -529,32 +519,27 @@ class Event<void(A0, A1)> {
529519

530520
template <typename F, typename B0>
531521
Event(EventQueue *q, F f, B0 b0) {
532-
new (this) Event(q, EventQueue::
533-
context12<F, B0, A0, A1>(f, b0));
522+
new (this) Event(q, (EventQueue::context12<F, B0, A0, A1>){f, b0});
534523
}
535524

536525
template <typename F, typename B0, typename B1>
537526
Event(EventQueue *q, F f, B0 b0, B1 b1) {
538-
new (this) Event(q, EventQueue::
539-
context22<F, B0, B1, A0, A1>(f, b0, b1));
527+
new (this) Event(q, (EventQueue::context22<F, B0, B1, A0, A1>){f, b0, b1});
540528
}
541529

542530
template <typename F, typename B0, typename B1, typename B2>
543531
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2) {
544-
new (this) Event(q, EventQueue::
545-
context32<F, B0, B1, B2, A0, A1>(f, b0, b1, b2));
532+
new (this) Event(q, (EventQueue::context32<F, B0, B1, B2, A0, A1>){f, b0, b1, b2});
546533
}
547534

548535
template <typename F, typename B0, typename B1, typename B2, typename B3>
549536
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3) {
550-
new (this) Event(q, EventQueue::
551-
context42<F, B0, B1, B2, B3, A0, A1>(f, b0, b1, b2, b3));
537+
new (this) Event(q, (EventQueue::context42<F, B0, B1, B2, B3, A0, A1>){f, b0, b1, b2, b3});
552538
}
553539

554540
template <typename F, typename B0, typename B1, typename B2, typename B3, typename B4>
555541
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4) {
556-
new (this) Event(q, EventQueue::
557-
context52<F, B0, B1, B2, B3, B4, A0, A1>(f, b0, b1, b2, b3, b4));
542+
new (this) Event(q, (EventQueue::context52<F, B0, B1, B2, B3, B4, A0, A1>){f, b0, b1, b2, b3, b4});
558543
}
559544

560545
Event(const Event &e) {
@@ -717,7 +702,7 @@ class Event<void(A0, A1, A2)> {
717702
return 0;
718703
}
719704

720-
new (p) C(*reinterpret_cast<F*>(e+1), a0, a1, a2);
705+
new (p) C((C){*reinterpret_cast<F*>(e+1), a0, a1, a2});
721706
equeue_event_delay(p, e->delay);
722707
equeue_event_period(p, e->period);
723708
equeue_event_dtor(p, &local::dtor);
@@ -748,32 +733,27 @@ class Event<void(A0, A1, A2)> {
748733

749734
template <typename F, typename B0>
750735
Event(EventQueue *q, F f, B0 b0) {
751-
new (this) Event(q, EventQueue::
752-
context13<F, B0, A0, A1, A2>(f, b0));
736+
new (this) Event(q, (EventQueue::context13<F, B0, A0, A1, A2>){f, b0});
753737
}
754738

755739
template <typename F, typename B0, typename B1>
756740
Event(EventQueue *q, F f, B0 b0, B1 b1) {
757-
new (this) Event(q, EventQueue::
758-
context23<F, B0, B1, A0, A1, A2>(f, b0, b1));
741+
new (this) Event(q, (EventQueue::context23<F, B0, B1, A0, A1, A2>){f, b0, b1});
759742
}
760743

761744
template <typename F, typename B0, typename B1, typename B2>
762745
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2) {
763-
new (this) Event(q, EventQueue::
764-
context33<F, B0, B1, B2, A0, A1, A2>(f, b0, b1, b2));
746+
new (this) Event(q, (EventQueue::context33<F, B0, B1, B2, A0, A1, A2>){f, b0, b1, b2});
765747
}
766748

767749
template <typename F, typename B0, typename B1, typename B2, typename B3>
768750
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3) {
769-
new (this) Event(q, EventQueue::
770-
context43<F, B0, B1, B2, B3, A0, A1, A2>(f, b0, b1, b2, b3));
751+
new (this) Event(q, (EventQueue::context43<F, B0, B1, B2, B3, A0, A1, A2>){f, b0, b1, b2, b3});
771752
}
772753

773754
template <typename F, typename B0, typename B1, typename B2, typename B3, typename B4>
774755
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4) {
775-
new (this) Event(q, EventQueue::
776-
context53<F, B0, B1, B2, B3, B4, A0, A1, A2>(f, b0, b1, b2, b3, b4));
756+
new (this) Event(q, (EventQueue::context53<F, B0, B1, B2, B3, B4, A0, A1, A2>){f, b0, b1, b2, b3, b4});
777757
}
778758

779759
Event(const Event &e) {
@@ -936,7 +916,7 @@ class Event<void(A0, A1, A2, A3)> {
936916
return 0;
937917
}
938918

939-
new (p) C(*reinterpret_cast<F*>(e+1), a0, a1, a2, a3);
919+
new (p) C((C){*reinterpret_cast<F*>(e+1), a0, a1, a2, a3});
940920
equeue_event_delay(p, e->delay);
941921
equeue_event_period(p, e->period);
942922
equeue_event_dtor(p, &local::dtor);
@@ -967,32 +947,27 @@ class Event<void(A0, A1, A2, A3)> {
967947

968948
template <typename F, typename B0>
969949
Event(EventQueue *q, F f, B0 b0) {
970-
new (this) Event(q, EventQueue::
971-
context14<F, B0, A0, A1, A2, A3>(f, b0));
950+
new (this) Event(q, (EventQueue::context14<F, B0, A0, A1, A2, A3>){f, b0});
972951
}
973952

974953
template <typename F, typename B0, typename B1>
975954
Event(EventQueue *q, F f, B0 b0, B1 b1) {
976-
new (this) Event(q, EventQueue::
977-
context24<F, B0, B1, A0, A1, A2, A3>(f, b0, b1));
955+
new (this) Event(q, (EventQueue::context24<F, B0, B1, A0, A1, A2, A3>){f, b0, b1});
978956
}
979957

980958
template <typename F, typename B0, typename B1, typename B2>
981959
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2) {
982-
new (this) Event(q, EventQueue::
983-
context34<F, B0, B1, B2, A0, A1, A2, A3>(f, b0, b1, b2));
960+
new (this) Event(q, (EventQueue::context34<F, B0, B1, B2, A0, A1, A2, A3>){f, b0, b1, b2});
984961
}
985962

986963
template <typename F, typename B0, typename B1, typename B2, typename B3>
987964
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3) {
988-
new (this) Event(q, EventQueue::
989-
context44<F, B0, B1, B2, B3, A0, A1, A2, A3>(f, b0, b1, b2, b3));
965+
new (this) Event(q, (EventQueue::context44<F, B0, B1, B2, B3, A0, A1, A2, A3>){f, b0, b1, b2, b3});
990966
}
991967

992968
template <typename F, typename B0, typename B1, typename B2, typename B3, typename B4>
993969
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4) {
994-
new (this) Event(q, EventQueue::
995-
context54<F, B0, B1, B2, B3, B4, A0, A1, A2, A3>(f, b0, b1, b2, b3, b4));
970+
new (this) Event(q, (EventQueue::context54<F, B0, B1, B2, B3, B4, A0, A1, A2, A3>){f, b0, b1, b2, b3, b4});
996971
}
997972

998973
Event(const Event &e) {
@@ -1155,7 +1130,7 @@ class Event<void(A0, A1, A2, A3, A4)> {
11551130
return 0;
11561131
}
11571132

1158-
new (p) C(*reinterpret_cast<F*>(e+1), a0, a1, a2, a3, a4);
1133+
new (p) C((C){*reinterpret_cast<F*>(e+1), a0, a1, a2, a3, a4});
11591134
equeue_event_delay(p, e->delay);
11601135
equeue_event_period(p, e->period);
11611136
equeue_event_dtor(p, &local::dtor);
@@ -1186,32 +1161,27 @@ class Event<void(A0, A1, A2, A3, A4)> {
11861161

11871162
template <typename F, typename B0>
11881163
Event(EventQueue *q, F f, B0 b0) {
1189-
new (this) Event(q, EventQueue::
1190-
context15<F, B0, A0, A1, A2, A3, A4>(f, b0));
1164+
new (this) Event(q, (EventQueue::context15<F, B0, A0, A1, A2, A3, A4>){f, b0});
11911165
}
11921166

11931167
template <typename F, typename B0, typename B1>
11941168
Event(EventQueue *q, F f, B0 b0, B1 b1) {
1195-
new (this) Event(q, EventQueue::
1196-
context25<F, B0, B1, A0, A1, A2, A3, A4>(f, b0, b1));
1169+
new (this) Event(q, (EventQueue::context25<F, B0, B1, A0, A1, A2, A3, A4>){f, b0, b1});
11971170
}
11981171

11991172
template <typename F, typename B0, typename B1, typename B2>
12001173
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2) {
1201-
new (this) Event(q, EventQueue::
1202-
context35<F, B0, B1, B2, A0, A1, A2, A3, A4>(f, b0, b1, b2));
1174+
new (this) Event(q, (EventQueue::context35<F, B0, B1, B2, A0, A1, A2, A3, A4>){f, b0, b1, b2});
12031175
}
12041176

12051177
template <typename F, typename B0, typename B1, typename B2, typename B3>
12061178
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3) {
1207-
new (this) Event(q, EventQueue::
1208-
context45<F, B0, B1, B2, B3, A0, A1, A2, A3, A4>(f, b0, b1, b2, b3));
1179+
new (this) Event(q, (EventQueue::context45<F, B0, B1, B2, B3, A0, A1, A2, A3, A4>){f, b0, b1, b2, b3});
12091180
}
12101181

12111182
template <typename F, typename B0, typename B1, typename B2, typename B3, typename B4>
12121183
Event(EventQueue *q, F f, B0 b0, B1 b1, B2 b2, B3 b3, B4 b4) {
1213-
new (this) Event(q, EventQueue::
1214-
context55<F, B0, B1, B2, B3, B4, A0, A1, A2, A3, A4>(f, b0, b1, b2, b3, b4));
1184+
new (this) Event(q, (EventQueue::context55<F, B0, B1, B2, B3, B4, A0, A1, A2, A3, A4>){f, b0, b1, b2, b3, b4});
12151185
}
12161186

12171187
Event(const Event &e) {

0 commit comments

Comments
 (0)