9999
100100// ! @endcond
101101// ============================================================================
102- #ifdef QEVT_DYN_CTOR
103- #include < new> // for placement new
104- #include < cstdarg> // for va_list
105- #endif // QEVT_DYN_CTOR
106-
107102// $declare${glob-types} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
108103
109104// ${glob-types::int_t} .......................................................
@@ -155,19 +150,16 @@ class QEvt {
155150#endif // def QEVT_DYN_CTOR
156151
157152public:
158- QEvt () =delete ;
153+
154+ #ifdef QEVT_DYN_CTOR
155+ QEvt *ctor (DynEvtconst dummy)noexcept ;
156+ #endif // def QEVT_DYN_CTOR
159157explicit constexpr QEvt (QSignalconst s)noexcept
160158 : sig(s),
161159 refCtr_(0U ),
162160 evtTag_(MARKER)
163161 {}
164-
165- #ifdef QEVT_DYN_CTOR
166- explicit QEvt (DynEvt dummy)noexcept {
167- static_cast <void >(dummy);// unused parameter
168- // dynamic event already initialized in QP::QF::newX_()
169- }
170- #endif // def QEVT_DYN_CTOR
162+ QEvt () =delete ;
171163static bool verify_ (QEvtconst *const e)noexcept {
172164return (e !=nullptr )
173165 && ((e->evtTag_ &0xF0U ) == MARKER);
@@ -1188,9 +1180,8 @@ void QF_onContextSw(
11881180
11891181// ${QF-macros::Q_NEW} ........................................................
11901182#ifdef QEVT_DYN_CTOR
1191- #define Q_NEW (evtT_, sig_, ...) (static_cast <evtT_ *>( \
1192- new (QP::QF::newX_(sizeof (evtT_), QP::QF::NO_MARGIN, (sig_))) \
1193- evtT_ (__VA_ARGS__)))
1183+ #define Q_NEW (evtT_, sig_, ...) (static_cast <evtT_ *>( \
1184+ QP::QF::newX_ (sizeof (evtT_), QP::QF::NO_MARGIN, (sig_)))->ctor(__VA_ARGS__))
11941185#endif // def QEVT_DYN_CTOR
11951186
11961187// ${QF-macros::Q_NEW_X} ......................................................
@@ -1201,9 +1192,8 @@ void QF_onContextSw(
12011192
12021193// ${QF-macros::Q_NEW_X} ......................................................
12031194#ifdef QEVT_DYN_CTOR
1204- #define Q_NEW_X (evtT_, margin_, sig_, ...) (static_cast <evtT_ *>( \
1205- new (QP::QF::newX_(sizeof (evtT_), (margin_), (sig_))) \
1206- evtT_ (__VA_ARGS__)))
1195+ #define Q_NEW_X (evtT_, margin_, sig_, ...) (static_cast <evtT_ *>( \
1196+ QP::QF::newX_ (sizeof (evtT_), (margin_), (sig_)))->ctor(__VA_ARGS__))
12071197#endif // def QEVT_DYN_CTOR
12081198
12091199// ${QF-macros::Q_NEW_REF} ....................................................