@@ -252,28 +252,28 @@ class Event<void(ArgTs...)> {
252
252
* @see Event::Event
253
253
*/
254
254
template <typename T, typename R, typename ... BoundArgTs>
255
- Event (EventQueue *q, T *obj, R(T::*method)(BoundArgTs..., ArgTs...), BoundArgTs... context_args) :
255
+ Event (EventQueue *q, T *obj, R(T::*method)(BoundArgTs..., ArgTs...), impl:: type_identity_t < BoundArgTs> ... context_args) :
256
256
Event (q, mbed::callback(obj, method), context_args...) { }
257
257
258
258
/* * Create an event
259
259
* @see Event::Event
260
260
*/
261
261
template <typename T, typename R, typename ... BoundArgTs>
262
- Event (EventQueue *q, const T *obj, R(T::*method)(BoundArgTs..., ArgTs...) const , BoundArgTs... context_args) :
262
+ Event (EventQueue *q, const T *obj, R(T::*method)(BoundArgTs..., ArgTs...) const , impl:: type_identity_t < BoundArgTs> ... context_args) :
263
263
Event (q, mbed::callback(obj, method), context_args...) { }
264
264
265
265
/* * Create an event
266
266
* @see Event::Event
267
267
*/
268
268
template <typename T, typename R, typename ... BoundArgTs>
269
- Event (EventQueue *q, volatile T *obj, R(T::*method)(BoundArgTs..., ArgTs...) volatile , BoundArgTs... context_args) :
269
+ Event (EventQueue *q, volatile T *obj, R(T::*method)(BoundArgTs..., ArgTs...) volatile , impl:: type_identity_t < BoundArgTs> ... context_args) :
270
270
Event (q, mbed::callback(obj, method), context_args...) { }
271
271
272
272
/* * Create an event
273
273
* @see Event::Event
274
274
*/
275
275
template <typename T, typename R, typename ... BoundArgTs>
276
- Event (EventQueue *q, const volatile T *obj, R(T::*method)(BoundArgTs..., ArgTs...) const volatile , BoundArgTs... context_args) :
276
+ Event (EventQueue *q, const volatile T *obj, R(T::*method)(BoundArgTs..., ArgTs...) const volatile , impl:: type_identity_t < BoundArgTs> ... context_args) :
277
277
Event (q, mbed::callback(obj, method), context_args...) { }
278
278
};
279
279
@@ -283,38 +283,38 @@ class Event<void(ArgTs...)> {
283
283
284
284
// Convenience functions declared here to avoid cyclic
285
285
// dependency between Event and EventQueue
286
- template <typename R, typename ... BoundArgTs, typename ... ContextArgTs, typename ... ArgTs>
287
- Event<void (ArgTs...)> EventQueue::event (R(*func)(BoundArgTs..., ArgTs...), ContextArgTs ... context_args)
286
+ template <typename R, typename ... BoundArgTs, typename ... ArgTs>
287
+ Event<void (ArgTs...)> EventQueue::event (R(*func)(BoundArgTs..., ArgTs...), impl::type_identity_t<BoundArgTs> ... context_args)
288
288
{
289
289
return Event<void (ArgTs...)>(this , func, context_args...);
290
290
}
291
291
292
- template <typename T, typename R, typename ... BoundArgTs, typename ... ContextArgTs, typename ... ArgTs>
293
- Event<void (ArgTs...)> EventQueue::event (T *obj, R(T::*method)(BoundArgTs..., ArgTs...), ContextArgTs ... context_args)
292
+ template <typename T, typename R, typename ... BoundArgTs, typename ... ArgTs>
293
+ Event<void (ArgTs...)> EventQueue::event (T *obj, R(T::*method)(BoundArgTs..., ArgTs...), impl::type_identity_t<BoundArgTs> ... context_args)
294
294
{
295
295
return Event<void (ArgTs...)>(this , mbed::callback (obj, method), context_args...);
296
296
}
297
297
298
- template <typename T, typename R, typename ... BoundArgTs, typename ... ContextArgTs, typename ... ArgTs>
299
- Event<void (ArgTs...)> EventQueue::event (const T *obj, R(T::*method)(BoundArgTs..., ArgTs...) const , ContextArgTs ... context_args)
298
+ template <typename T, typename R, typename ... BoundArgTs, typename ... ArgTs>
299
+ Event<void (ArgTs...)> EventQueue::event (const T *obj, R(T::*method)(BoundArgTs..., ArgTs...) const , impl::type_identity_t<BoundArgTs> ... context_args)
300
300
{
301
301
return Event<void (ArgTs...)>(this , mbed::callback (obj, method), context_args...);
302
302
}
303
303
304
- template <typename T, typename R, typename ... BoundArgTs, typename ... ContextArgTs, typename ... ArgTs>
305
- Event<void (ArgTs...)> EventQueue::event (volatile T *obj, R(T::*method)(BoundArgTs..., ArgTs...) volatile, ContextArgTs ... context_args)
304
+ template <typename T, typename R, typename ... BoundArgTs, typename ... ArgTs>
305
+ Event<void (ArgTs...)> EventQueue::event (volatile T *obj, R(T::*method)(BoundArgTs..., ArgTs...) volatile, impl::type_identity_t<BoundArgTs> ... context_args)
306
306
{
307
307
return Event<void (ArgTs...)>(this , mbed::callback (obj, method), context_args...);
308
308
}
309
309
310
- template <typename T, typename R, typename ... BoundArgTs, typename ... ContextArgTs, typename ... ArgTs>
311
- Event<void (ArgTs...)> EventQueue::event (const volatile T *obj, R(T::*method)(BoundArgTs..., ArgTs...) const volatile, ContextArgTs ... context_args)
310
+ template <typename T, typename R, typename ... BoundArgTs, typename ... ArgTs>
311
+ Event<void (ArgTs...)> EventQueue::event (const volatile T *obj, R(T::*method)(BoundArgTs..., ArgTs...) const volatile, impl::type_identity_t<BoundArgTs> ... context_args)
312
312
{
313
313
return Event<void (ArgTs...)>(this , mbed::callback (obj, method), context_args...);
314
314
}
315
315
316
- template <typename R, typename ... BoundArgTs, typename ... ContextArgTs, typename ... ArgTs>
317
- Event<void (ArgTs...)> EventQueue::event (mbed::Callback<R(BoundArgTs..., ArgTs...)> cb, ContextArgTs ... context_args)
316
+ template <typename R, typename ... BoundArgTs, typename ... ArgTs>
317
+ Event<void (ArgTs...)> EventQueue::event (mbed::Callback<R(BoundArgTs..., ArgTs...)> cb, impl::type_identity_t<BoundArgTs> ... context_args)
318
318
{
319
319
return Event<void (ArgTs...)>(this , cb, context_args...);
320
320
}
0 commit comments