From 3544228b4794a61f04a56fea04533f31295ab5ad Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Wed, 9 Nov 2016 13:45:25 -0600 Subject: [PATCH] callback - Adopted relaxed type-deduction for bound functions Adopting relaxed type-deduction in bound functions better aligns with the same overloads for member functions, and provides an alternative solution for the void pointer cast issue, which removes a large amount of cruft. --- platform/Callback.h | 2208 ++++++------------------------------------- 1 file changed, 288 insertions(+), 1920 deletions(-) diff --git a/platform/Callback.h b/platform/Callback.h index f07e0fc2ed..c888acbd3f 100644 --- a/platform/Callback.h +++ b/platform/Callback.h @@ -122,44 +122,12 @@ public: generate(method_context(obj, method)); } - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(void*), void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const void*), const void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(volatile void*), volatile void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const volatile void*), const volatile void *arg) { - generate(function_context(func, arg)); - } - /** Create a Callback with a static function and bound pointer * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(T*), T *arg) { + template + Callback(R (*func)(T*), U *arg) { generate(function_context(func, arg)); } @@ -167,8 +135,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const T*), const T *arg) { + template + Callback(R (*func)(const T*), const U *arg) { generate(function_context(func, arg)); } @@ -176,8 +144,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(volatile T*), volatile T *arg) { + template + Callback(R (*func)(volatile T*), volatile U *arg) { generate(function_context(func, arg)); } @@ -185,8 +153,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const volatile T*), const volatile T *arg) { + template + Callback(R (*func)(const volatile T*), const volatile U *arg) { generate(function_context(func, arg)); } @@ -244,9 +212,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(void *obj, R (*func)(void*)) { + Callback(U *obj, R (*func)(T*)) { new (this) Callback(func, obj); } @@ -256,9 +225,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const void *obj, R (*func)(const void*)) { + Callback(const U *obj, R (*func)(const T*)) { new (this) Callback(func, obj); } @@ -268,9 +238,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile void *obj, R (*func)(volatile void*)) { + Callback(volatile U *obj, R (*func)(volatile T*)) { new (this) Callback(func, obj); } @@ -280,61 +251,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile void *obj, R (*func)(const volatile void*)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(T *obj, R (*func)(T*)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const T *obj, R (*func)(const T*)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile T *obj, R (*func)(volatile T*)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile T *obj, R (*func)(const volatile T*)) { + Callback(const volatile U *obj, R (*func)(const volatile T*)) { new (this) Callback(func, obj); } @@ -406,7 +326,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(void*), void *arg) { + template + void attach(R (*func)(T*), U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -415,7 +336,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const void*), const void *arg) { + template + void attach(R (*func)(const T*), const U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -424,7 +346,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(volatile void*), volatile void *arg) { + template + void attach(R (*func)(volatile T*), volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -433,47 +356,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const volatile void*), const volatile void *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(T*), T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const T*), const T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(volatile T*), volatile T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const volatile T*), const volatile T *arg) { + template + void attach(R (*func)(const volatile T*), const volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -536,9 +420,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(void *obj, R (*func)(void*)) { + void attach(U *obj, R (*func)(T*)) { this->~Callback(); new (this) Callback(func, obj); } @@ -549,9 +434,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const void *obj, R (*func)(const void*)) { + void attach(const U *obj, R (*func)(const T*)) { this->~Callback(); new (this) Callback(func, obj); } @@ -562,9 +448,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile void *obj, R (*func)(volatile void*)) { + void attach(volatile U *obj, R (*func)(volatile T*)) { this->~Callback(); new (this) Callback(func, obj); } @@ -575,65 +462,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile void *obj, R (*func)(const volatile void*)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(T *obj, R (*func)(T*)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const T *obj, R (*func)(const T*)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile T *obj, R (*func)(volatile T*)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile T *obj, R (*func)(const volatile T*)) { + void attach(const volatile U *obj, R (*func)(const volatile T*)) { this->~Callback(); new (this) Callback(func, obj); } @@ -829,44 +661,12 @@ public: generate(method_context(obj, method)); } - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(void*, A0), void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const void*, A0), const void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(volatile void*, A0), volatile void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const volatile void*, A0), const volatile void *arg) { - generate(function_context(func, arg)); - } - /** Create a Callback with a static function and bound pointer * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(T*, A0), T *arg) { + template + Callback(R (*func)(T*, A0), U *arg) { generate(function_context(func, arg)); } @@ -874,8 +674,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const T*, A0), const T *arg) { + template + Callback(R (*func)(const T*, A0), const U *arg) { generate(function_context(func, arg)); } @@ -883,8 +683,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(volatile T*, A0), volatile T *arg) { + template + Callback(R (*func)(volatile T*, A0), volatile U *arg) { generate(function_context(func, arg)); } @@ -892,8 +692,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const volatile T*, A0), const volatile T *arg) { + template + Callback(R (*func)(const volatile T*, A0), const volatile U *arg) { generate(function_context(func, arg)); } @@ -951,9 +751,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(void *obj, R (*func)(void*, A0)) { + Callback(U *obj, R (*func)(T*, A0)) { new (this) Callback(func, obj); } @@ -963,9 +764,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const void *obj, R (*func)(const void*, A0)) { + Callback(const U *obj, R (*func)(const T*, A0)) { new (this) Callback(func, obj); } @@ -975,9 +777,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile void *obj, R (*func)(volatile void*, A0)) { + Callback(volatile U *obj, R (*func)(volatile T*, A0)) { new (this) Callback(func, obj); } @@ -987,61 +790,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile void *obj, R (*func)(const volatile void*, A0)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(T *obj, R (*func)(T*, A0)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const T *obj, R (*func)(const T*, A0)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile T *obj, R (*func)(volatile T*, A0)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile T *obj, R (*func)(const volatile T*, A0)) { + Callback(const volatile U *obj, R (*func)(const volatile T*, A0)) { new (this) Callback(func, obj); } @@ -1113,7 +865,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(void*, A0), void *arg) { + template + void attach(R (*func)(T*, A0), U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -1122,7 +875,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const void*, A0), const void *arg) { + template + void attach(R (*func)(const T*, A0), const U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -1131,7 +885,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(volatile void*, A0), volatile void *arg) { + template + void attach(R (*func)(volatile T*, A0), volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -1140,47 +895,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const volatile void*, A0), const volatile void *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(T*, A0), T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const T*, A0), const T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(volatile T*, A0), volatile T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const volatile T*, A0), const volatile T *arg) { + template + void attach(R (*func)(const volatile T*, A0), const volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -1243,9 +959,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(void *obj, R (*func)(void*, A0)) { + void attach(U *obj, R (*func)(T*, A0)) { this->~Callback(); new (this) Callback(func, obj); } @@ -1256,9 +973,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const void *obj, R (*func)(const void*, A0)) { + void attach(const U *obj, R (*func)(const T*, A0)) { this->~Callback(); new (this) Callback(func, obj); } @@ -1269,9 +987,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile void *obj, R (*func)(volatile void*, A0)) { + void attach(volatile U *obj, R (*func)(volatile T*, A0)) { this->~Callback(); new (this) Callback(func, obj); } @@ -1282,65 +1001,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile void *obj, R (*func)(const volatile void*, A0)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(T *obj, R (*func)(T*, A0)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const T *obj, R (*func)(const T*, A0)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile T *obj, R (*func)(volatile T*, A0)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile T *obj, R (*func)(const volatile T*, A0)) { + void attach(const volatile U *obj, R (*func)(const volatile T*, A0)) { this->~Callback(); new (this) Callback(func, obj); } @@ -1536,44 +1200,12 @@ public: generate(method_context(obj, method)); } - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(void*, A0, A1), void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const void*, A0, A1), const void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(volatile void*, A0, A1), volatile void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const volatile void*, A0, A1), const volatile void *arg) { - generate(function_context(func, arg)); - } - /** Create a Callback with a static function and bound pointer * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(T*, A0, A1), T *arg) { + template + Callback(R (*func)(T*, A0, A1), U *arg) { generate(function_context(func, arg)); } @@ -1581,8 +1213,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const T*, A0, A1), const T *arg) { + template + Callback(R (*func)(const T*, A0, A1), const U *arg) { generate(function_context(func, arg)); } @@ -1590,8 +1222,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(volatile T*, A0, A1), volatile T *arg) { + template + Callback(R (*func)(volatile T*, A0, A1), volatile U *arg) { generate(function_context(func, arg)); } @@ -1599,8 +1231,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const volatile T*, A0, A1), const volatile T *arg) { + template + Callback(R (*func)(const volatile T*, A0, A1), const volatile U *arg) { generate(function_context(func, arg)); } @@ -1658,9 +1290,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(void *obj, R (*func)(void*, A0, A1)) { + Callback(U *obj, R (*func)(T*, A0, A1)) { new (this) Callback(func, obj); } @@ -1670,9 +1303,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const void *obj, R (*func)(const void*, A0, A1)) { + Callback(const U *obj, R (*func)(const T*, A0, A1)) { new (this) Callback(func, obj); } @@ -1682,9 +1316,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile void *obj, R (*func)(volatile void*, A0, A1)) { + Callback(volatile U *obj, R (*func)(volatile T*, A0, A1)) { new (this) Callback(func, obj); } @@ -1694,61 +1329,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile void *obj, R (*func)(const volatile void*, A0, A1)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(T *obj, R (*func)(T*, A0, A1)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const T *obj, R (*func)(const T*, A0, A1)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile T *obj, R (*func)(volatile T*, A0, A1)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile T *obj, R (*func)(const volatile T*, A0, A1)) { + Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1)) { new (this) Callback(func, obj); } @@ -1820,7 +1404,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(void*, A0, A1), void *arg) { + template + void attach(R (*func)(T*, A0, A1), U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -1829,7 +1414,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const void*, A0, A1), const void *arg) { + template + void attach(R (*func)(const T*, A0, A1), const U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -1838,7 +1424,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(volatile void*, A0, A1), volatile void *arg) { + template + void attach(R (*func)(volatile T*, A0, A1), volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -1847,47 +1434,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const volatile void*, A0, A1), const volatile void *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(T*, A0, A1), T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const T*, A0, A1), const T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(volatile T*, A0, A1), volatile T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const volatile T*, A0, A1), const volatile T *arg) { + template + void attach(R (*func)(const volatile T*, A0, A1), const volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -1950,9 +1498,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(void *obj, R (*func)(void*, A0, A1)) { + void attach(U *obj, R (*func)(T*, A0, A1)) { this->~Callback(); new (this) Callback(func, obj); } @@ -1963,9 +1512,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const void *obj, R (*func)(const void*, A0, A1)) { + void attach(const U *obj, R (*func)(const T*, A0, A1)) { this->~Callback(); new (this) Callback(func, obj); } @@ -1976,9 +1526,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile void *obj, R (*func)(volatile void*, A0, A1)) { + void attach(volatile U *obj, R (*func)(volatile T*, A0, A1)) { this->~Callback(); new (this) Callback(func, obj); } @@ -1989,65 +1540,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile void *obj, R (*func)(const volatile void*, A0, A1)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(T *obj, R (*func)(T*, A0, A1)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const T *obj, R (*func)(const T*, A0, A1)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile T *obj, R (*func)(volatile T*, A0, A1)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile T *obj, R (*func)(const volatile T*, A0, A1)) { + void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1)) { this->~Callback(); new (this) Callback(func, obj); } @@ -2243,44 +1739,12 @@ public: generate(method_context(obj, method)); } - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(void*, A0, A1, A2), void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const void*, A0, A1, A2), const void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(volatile void*, A0, A1, A2), volatile void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const volatile void*, A0, A1, A2), const volatile void *arg) { - generate(function_context(func, arg)); - } - /** Create a Callback with a static function and bound pointer * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(T*, A0, A1, A2), T *arg) { + template + Callback(R (*func)(T*, A0, A1, A2), U *arg) { generate(function_context(func, arg)); } @@ -2288,8 +1752,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const T*, A0, A1, A2), const T *arg) { + template + Callback(R (*func)(const T*, A0, A1, A2), const U *arg) { generate(function_context(func, arg)); } @@ -2297,8 +1761,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(volatile T*, A0, A1, A2), volatile T *arg) { + template + Callback(R (*func)(volatile T*, A0, A1, A2), volatile U *arg) { generate(function_context(func, arg)); } @@ -2306,8 +1770,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const volatile T*, A0, A1, A2), const volatile T *arg) { + template + Callback(R (*func)(const volatile T*, A0, A1, A2), const volatile U *arg) { generate(function_context(func, arg)); } @@ -2365,9 +1829,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(void *obj, R (*func)(void*, A0, A1, A2)) { + Callback(U *obj, R (*func)(T*, A0, A1, A2)) { new (this) Callback(func, obj); } @@ -2377,9 +1842,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const void *obj, R (*func)(const void*, A0, A1, A2)) { + Callback(const U *obj, R (*func)(const T*, A0, A1, A2)) { new (this) Callback(func, obj); } @@ -2389,9 +1855,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile void *obj, R (*func)(volatile void*, A0, A1, A2)) { + Callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2)) { new (this) Callback(func, obj); } @@ -2401,61 +1868,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile void *obj, R (*func)(const volatile void*, A0, A1, A2)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(T *obj, R (*func)(T*, A0, A1, A2)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const T *obj, R (*func)(const T*, A0, A1, A2)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile T *obj, R (*func)(volatile T*, A0, A1, A2)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile T *obj, R (*func)(const volatile T*, A0, A1, A2)) { + Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2)) { new (this) Callback(func, obj); } @@ -2527,7 +1943,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(void*, A0, A1, A2), void *arg) { + template + void attach(R (*func)(T*, A0, A1, A2), U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -2536,7 +1953,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const void*, A0, A1, A2), const void *arg) { + template + void attach(R (*func)(const T*, A0, A1, A2), const U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -2545,7 +1963,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(volatile void*, A0, A1, A2), volatile void *arg) { + template + void attach(R (*func)(volatile T*, A0, A1, A2), volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -2554,47 +1973,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const volatile void*, A0, A1, A2), const volatile void *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(T*, A0, A1, A2), T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const T*, A0, A1, A2), const T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(volatile T*, A0, A1, A2), volatile T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const volatile T*, A0, A1, A2), const volatile T *arg) { + template + void attach(R (*func)(const volatile T*, A0, A1, A2), const volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -2657,9 +2037,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(void *obj, R (*func)(void*, A0, A1, A2)) { + void attach(U *obj, R (*func)(T*, A0, A1, A2)) { this->~Callback(); new (this) Callback(func, obj); } @@ -2670,9 +2051,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const void *obj, R (*func)(const void*, A0, A1, A2)) { + void attach(const U *obj, R (*func)(const T*, A0, A1, A2)) { this->~Callback(); new (this) Callback(func, obj); } @@ -2683,9 +2065,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile void *obj, R (*func)(volatile void*, A0, A1, A2)) { + void attach(volatile U *obj, R (*func)(volatile T*, A0, A1, A2)) { this->~Callback(); new (this) Callback(func, obj); } @@ -2696,65 +2079,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile void *obj, R (*func)(const volatile void*, A0, A1, A2)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(T *obj, R (*func)(T*, A0, A1, A2)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const T *obj, R (*func)(const T*, A0, A1, A2)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile T *obj, R (*func)(volatile T*, A0, A1, A2)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile T *obj, R (*func)(const volatile T*, A0, A1, A2)) { + void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2)) { this->~Callback(); new (this) Callback(func, obj); } @@ -2950,44 +2278,12 @@ public: generate(method_context(obj, method)); } - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(void*, A0, A1, A2, A3), void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const void*, A0, A1, A2, A3), const void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(volatile void*, A0, A1, A2, A3), volatile void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const volatile void*, A0, A1, A2, A3), const volatile void *arg) { - generate(function_context(func, arg)); - } - /** Create a Callback with a static function and bound pointer * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(T*, A0, A1, A2, A3), T *arg) { + template + Callback(R (*func)(T*, A0, A1, A2, A3), U *arg) { generate(function_context(func, arg)); } @@ -2995,8 +2291,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const T*, A0, A1, A2, A3), const T *arg) { + template + Callback(R (*func)(const T*, A0, A1, A2, A3), const U *arg) { generate(function_context(func, arg)); } @@ -3004,8 +2300,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(volatile T*, A0, A1, A2, A3), volatile T *arg) { + template + Callback(R (*func)(volatile T*, A0, A1, A2, A3), volatile U *arg) { generate(function_context(func, arg)); } @@ -3013,8 +2309,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile T *arg) { + template + Callback(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile U *arg) { generate(function_context(func, arg)); } @@ -3072,9 +2368,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(void *obj, R (*func)(void*, A0, A1, A2, A3)) { + Callback(U *obj, R (*func)(T*, A0, A1, A2, A3)) { new (this) Callback(func, obj); } @@ -3084,9 +2381,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const void *obj, R (*func)(const void*, A0, A1, A2, A3)) { + Callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3)) { new (this) Callback(func, obj); } @@ -3096,9 +2394,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile void *obj, R (*func)(volatile void*, A0, A1, A2, A3)) { + Callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { new (this) Callback(func, obj); } @@ -3108,61 +2407,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile void *obj, R (*func)(const volatile void*, A0, A1, A2, A3)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(T *obj, R (*func)(T*, A0, A1, A2, A3)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const T *obj, R (*func)(const T*, A0, A1, A2, A3)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile T *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile T *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { + Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { new (this) Callback(func, obj); } @@ -3234,7 +2482,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(void*, A0, A1, A2, A3), void *arg) { + template + void attach(R (*func)(T*, A0, A1, A2, A3), U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -3243,7 +2492,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const void*, A0, A1, A2, A3), const void *arg) { + template + void attach(R (*func)(const T*, A0, A1, A2, A3), const U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -3252,7 +2502,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(volatile void*, A0, A1, A2, A3), volatile void *arg) { + template + void attach(R (*func)(volatile T*, A0, A1, A2, A3), volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -3261,47 +2512,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const volatile void*, A0, A1, A2, A3), const volatile void *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(T*, A0, A1, A2, A3), T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const T*, A0, A1, A2, A3), const T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(volatile T*, A0, A1, A2, A3), volatile T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile T *arg) { + template + void attach(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -3364,9 +2576,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(void *obj, R (*func)(void*, A0, A1, A2, A3)) { + void attach(U *obj, R (*func)(T*, A0, A1, A2, A3)) { this->~Callback(); new (this) Callback(func, obj); } @@ -3377,9 +2590,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const void *obj, R (*func)(const void*, A0, A1, A2, A3)) { + void attach(const U *obj, R (*func)(const T*, A0, A1, A2, A3)) { this->~Callback(); new (this) Callback(func, obj); } @@ -3390,9 +2604,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile void *obj, R (*func)(volatile void*, A0, A1, A2, A3)) { + void attach(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { this->~Callback(); new (this) Callback(func, obj); } @@ -3403,65 +2618,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile void *obj, R (*func)(const volatile void*, A0, A1, A2, A3)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(T *obj, R (*func)(T*, A0, A1, A2, A3)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const T *obj, R (*func)(const T*, A0, A1, A2, A3)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile T *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile T *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { + void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { this->~Callback(); new (this) Callback(func, obj); } @@ -3657,44 +2817,12 @@ public: generate(method_context(obj, method)); } - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(void*, A0, A1, A2, A3, A4), void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const void*, A0, A1, A2, A3, A4), const void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(volatile void*, A0, A1, A2, A3, A4), volatile void *arg) { - generate(function_context(func, arg)); - } - - /** Create a Callback with a static function and bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - Callback(R (*func)(const volatile void*, A0, A1, A2, A3, A4), const volatile void *arg) { - generate(function_context(func, arg)); - } - /** Create a Callback with a static function and bound pointer * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(T*, A0, A1, A2, A3, A4), T *arg) { + template + Callback(R (*func)(T*, A0, A1, A2, A3, A4), U *arg) { generate(function_context(func, arg)); } @@ -3702,8 +2830,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const T*, A0, A1, A2, A3, A4), const T *arg) { + template + Callback(R (*func)(const T*, A0, A1, A2, A3, A4), const U *arg) { generate(function_context(func, arg)); } @@ -3711,8 +2839,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile T *arg) { + template + Callback(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile U *arg) { generate(function_context(func, arg)); } @@ -3720,8 +2848,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - template - Callback(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile T *arg) { + template + Callback(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile U *arg) { generate(function_context(func, arg)); } @@ -3779,9 +2907,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(void *obj, R (*func)(void*, A0, A1, A2, A3, A4)) { + Callback(U *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { new (this) Callback(func, obj); } @@ -3791,9 +2920,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const void *obj, R (*func)(const void*, A0, A1, A2, A3, A4)) { + Callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { new (this) Callback(func, obj); } @@ -3803,9 +2933,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile void *obj, R (*func)(volatile void*, A0, A1, A2, A3, A4)) { + Callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { new (this) Callback(func, obj); } @@ -3815,61 +2946,10 @@ public: * @deprecated * Arguments to callback have been reordered to Callback(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile void *obj, R (*func)(const volatile void*, A0, A1, A2, A3, A4)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(T *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const T *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(volatile T *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { - new (this) Callback(func, obj); - } - - /** Create a Callback with a static function and bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to Callback(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to Callback(func, arg)") - Callback(const volatile T *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { + Callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { new (this) Callback(func, obj); } @@ -3941,7 +3021,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(void*, A0, A1, A2, A3, A4), void *arg) { + template + void attach(R (*func)(T*, A0, A1, A2, A3, A4), U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -3950,7 +3031,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const void*, A0, A1, A2, A3, A4), const void *arg) { + template + void attach(R (*func)(const T*, A0, A1, A2, A3, A4), const U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -3959,7 +3041,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(volatile void*, A0, A1, A2, A3, A4), volatile void *arg) { + template + void attach(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -3968,47 +3051,8 @@ public: * @param func Static function to attach * @param arg Pointer argument to function */ - void attach(R (*func)(const volatile void*, A0, A1, A2, A3, A4), const volatile void *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(T*, A0, A1, A2, A3, A4), T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const T*, A0, A1, A2, A3, A4), const T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile T *arg) { - this->~Callback(); - new (this) Callback(func, arg); - } - - /** Attach a static function with a bound pointer - * @param func Static function to attach - * @param arg Pointer argument to function - */ - template - void attach(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile T *arg) { + template + void attach(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile U *arg) { this->~Callback(); new (this) Callback(func, arg); } @@ -4071,9 +3115,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(void *obj, R (*func)(void*, A0, A1, A2, A3, A4)) { + void attach(U *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { this->~Callback(); new (this) Callback(func, obj); } @@ -4084,9 +3129,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const void *obj, R (*func)(const void*, A0, A1, A2, A3, A4)) { + void attach(const U *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { this->~Callback(); new (this) Callback(func, obj); } @@ -4097,9 +3143,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile void *obj, R (*func)(volatile void*, A0, A1, A2, A3, A4)) { + void attach(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { this->~Callback(); new (this) Callback(func, obj); } @@ -4110,65 +3157,10 @@ public: * @deprecated * Arguments to callback have been reordered to attach(func, arg) */ + template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile void *obj, R (*func)(const volatile void*, A0, A1, A2, A3, A4)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(T *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const T *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(volatile T *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { - this->~Callback(); - new (this) Callback(func, obj); - } - - /** Attach a static function with a bound pointer - * @param obj Pointer to object to bind to function - * @param func Static function to attach - * @deprecated - * Arguments to callback have been reordered to attach(func, arg) - */ - template - MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to attach(func, arg)") - void attach(const volatile T *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { + void attach(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { this->~Callback(); new (this) Callback(func, obj); } @@ -4374,8 +3366,8 @@ Callback callback(const volatile U *obj, R (T::*method)() const volatile) { * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(void*), void *arg) { +template +Callback callback(R (*func)(T*), U *arg) { return Callback(func, arg); } @@ -4385,8 +3377,8 @@ Callback callback(R (*func)(void*), void *arg) { * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const void*), const void *arg) { +template +Callback callback(R (*func)(const T*), const U *arg) { return Callback(func, arg); } @@ -4396,8 +3388,8 @@ Callback callback(R (*func)(const void*), const void *arg) { * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(volatile void*), volatile void *arg) { +template +Callback callback(R (*func)(volatile T*), volatile U *arg) { return Callback(func, arg); } @@ -4407,52 +3399,8 @@ Callback callback(R (*func)(volatile void*), volatile void *arg) { * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const volatile void*), const volatile void *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(T*), T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const T*), const T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(volatile T*), volatile T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const volatile T*), const volatile T *arg) { +template +Callback callback(R (*func)(const volatile T*), const volatile U *arg) { return Callback(func, arg); } @@ -4464,10 +3412,10 @@ Callback callback(R (*func)(const volatile T*), const volatile T *arg) { * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(void *obj, R (*func)(void*)) { +Callback callback(U *obj, R (*func)(T*)) { return Callback(func, obj); } @@ -4479,10 +3427,10 @@ Callback callback(void *obj, R (*func)(void*)) { * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const void *obj, R (*func)(const void*)) { +Callback callback(const U *obj, R (*func)(const T*)) { return Callback(func, obj); } @@ -4494,10 +3442,10 @@ Callback callback(const void *obj, R (*func)(const void*)) { * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile void *obj, R (*func)(volatile void*)) { +Callback callback(volatile U *obj, R (*func)(volatile T*)) { return Callback(func, obj); } @@ -4509,70 +3457,10 @@ Callback callback(volatile void *obj, R (*func)(volatile void*)) { * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile void *obj, R (*func)(const volatile void*)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(T *obj, R (*func)(T*)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const T *obj, R (*func)(const T*)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile T *obj, R (*func)(volatile T*)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile T *obj, R (*func)(const volatile T*)) { +Callback callback(const volatile U *obj, R (*func)(const volatile T*)) { return Callback(func, obj); } @@ -4647,8 +3535,8 @@ Callback callback(const volatile U *obj, R (T::*method)(A0) const volatil * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(void*, A0), void *arg) { +template +Callback callback(R (*func)(T*, A0), U *arg) { return Callback(func, arg); } @@ -4658,8 +3546,8 @@ Callback callback(R (*func)(void*, A0), void *arg) { * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const void*, A0), const void *arg) { +template +Callback callback(R (*func)(const T*, A0), const U *arg) { return Callback(func, arg); } @@ -4669,8 +3557,8 @@ Callback callback(R (*func)(const void*, A0), const void *arg) { * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(volatile void*, A0), volatile void *arg) { +template +Callback callback(R (*func)(volatile T*, A0), volatile U *arg) { return Callback(func, arg); } @@ -4680,52 +3568,8 @@ Callback callback(R (*func)(volatile void*, A0), volatile void *arg) { * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const volatile void*, A0), const volatile void *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(T*, A0), T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const T*, A0), const T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(volatile T*, A0), volatile T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const volatile T*, A0), const volatile T *arg) { +template +Callback callback(R (*func)(const volatile T*, A0), const volatile U *arg) { return Callback(func, arg); } @@ -4737,10 +3581,10 @@ Callback callback(R (*func)(const volatile T*, A0), const volatile T *arg * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(void *obj, R (*func)(void*, A0)) { +Callback callback(U *obj, R (*func)(T*, A0)) { return Callback(func, obj); } @@ -4752,10 +3596,10 @@ Callback callback(void *obj, R (*func)(void*, A0)) { * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const void *obj, R (*func)(const void*, A0)) { +Callback callback(const U *obj, R (*func)(const T*, A0)) { return Callback(func, obj); } @@ -4767,10 +3611,10 @@ Callback callback(const void *obj, R (*func)(const void*, A0)) { * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile void *obj, R (*func)(volatile void*, A0)) { +Callback callback(volatile U *obj, R (*func)(volatile T*, A0)) { return Callback(func, obj); } @@ -4782,70 +3626,10 @@ Callback callback(volatile void *obj, R (*func)(volatile void*, A0)) { * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile void *obj, R (*func)(const volatile void*, A0)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(T *obj, R (*func)(T*, A0)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const T *obj, R (*func)(const T*, A0)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile T *obj, R (*func)(volatile T*, A0)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile T *obj, R (*func)(const volatile T*, A0)) { +Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0)) { return Callback(func, obj); } @@ -4920,8 +3704,8 @@ Callback callback(const volatile U *obj, R (T::*method)(A0, A1) const * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(void*, A0, A1), void *arg) { +template +Callback callback(R (*func)(T*, A0, A1), U *arg) { return Callback(func, arg); } @@ -4931,8 +3715,8 @@ Callback callback(R (*func)(void*, A0, A1), void *arg) { * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const void*, A0, A1), const void *arg) { +template +Callback callback(R (*func)(const T*, A0, A1), const U *arg) { return Callback(func, arg); } @@ -4942,8 +3726,8 @@ Callback callback(R (*func)(const void*, A0, A1), const void *arg) { * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(volatile void*, A0, A1), volatile void *arg) { +template +Callback callback(R (*func)(volatile T*, A0, A1), volatile U *arg) { return Callback(func, arg); } @@ -4953,52 +3737,8 @@ Callback callback(R (*func)(volatile void*, A0, A1), volatile void *a * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const volatile void*, A0, A1), const volatile void *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(T*, A0, A1), T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const T*, A0, A1), const T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(volatile T*, A0, A1), volatile T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const volatile T*, A0, A1), const volatile T *arg) { +template +Callback callback(R (*func)(const volatile T*, A0, A1), const volatile U *arg) { return Callback(func, arg); } @@ -5010,10 +3750,10 @@ Callback callback(R (*func)(const volatile T*, A0, A1), const volatil * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(void *obj, R (*func)(void*, A0, A1)) { +Callback callback(U *obj, R (*func)(T*, A0, A1)) { return Callback(func, obj); } @@ -5025,10 +3765,10 @@ Callback callback(void *obj, R (*func)(void*, A0, A1)) { * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const void *obj, R (*func)(const void*, A0, A1)) { +Callback callback(const U *obj, R (*func)(const T*, A0, A1)) { return Callback(func, obj); } @@ -5040,10 +3780,10 @@ Callback callback(const void *obj, R (*func)(const void*, A0, A1)) { * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile void *obj, R (*func)(volatile void*, A0, A1)) { +Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1)) { return Callback(func, obj); } @@ -5055,70 +3795,10 @@ Callback callback(volatile void *obj, R (*func)(volatile void*, A0, A * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile void *obj, R (*func)(const volatile void*, A0, A1)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(T *obj, R (*func)(T*, A0, A1)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const T *obj, R (*func)(const T*, A0, A1)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile T *obj, R (*func)(volatile T*, A0, A1)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile T *obj, R (*func)(const volatile T*, A0, A1)) { +Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1)) { return Callback(func, obj); } @@ -5193,8 +3873,8 @@ Callback callback(const volatile U *obj, R (T::*method)(A0, A1, A * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(void*, A0, A1, A2), void *arg) { +template +Callback callback(R (*func)(T*, A0, A1, A2), U *arg) { return Callback(func, arg); } @@ -5204,8 +3884,8 @@ Callback callback(R (*func)(void*, A0, A1, A2), void *arg) { * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const void*, A0, A1, A2), const void *arg) { +template +Callback callback(R (*func)(const T*, A0, A1, A2), const U *arg) { return Callback(func, arg); } @@ -5215,8 +3895,8 @@ Callback callback(R (*func)(const void*, A0, A1, A2), const void * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(volatile void*, A0, A1, A2), volatile void *arg) { +template +Callback callback(R (*func)(volatile T*, A0, A1, A2), volatile U *arg) { return Callback(func, arg); } @@ -5226,52 +3906,8 @@ Callback callback(R (*func)(volatile void*, A0, A1, A2), volatile * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const volatile void*, A0, A1, A2), const volatile void *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(T*, A0, A1, A2), T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const T*, A0, A1, A2), const T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(volatile T*, A0, A1, A2), volatile T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const volatile T*, A0, A1, A2), const volatile T *arg) { +template +Callback callback(R (*func)(const volatile T*, A0, A1, A2), const volatile U *arg) { return Callback(func, arg); } @@ -5283,10 +3919,10 @@ Callback callback(R (*func)(const volatile T*, A0, A1, A2), const * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(void *obj, R (*func)(void*, A0, A1, A2)) { +Callback callback(U *obj, R (*func)(T*, A0, A1, A2)) { return Callback(func, obj); } @@ -5298,10 +3934,10 @@ Callback callback(void *obj, R (*func)(void*, A0, A1, A2)) { * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const void *obj, R (*func)(const void*, A0, A1, A2)) { +Callback callback(const U *obj, R (*func)(const T*, A0, A1, A2)) { return Callback(func, obj); } @@ -5313,10 +3949,10 @@ Callback callback(const void *obj, R (*func)(const void*, A0, A1, * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile void *obj, R (*func)(volatile void*, A0, A1, A2)) { +Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2)) { return Callback(func, obj); } @@ -5328,70 +3964,10 @@ Callback callback(volatile void *obj, R (*func)(volatile void*, A * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile void *obj, R (*func)(const volatile void*, A0, A1, A2)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(T *obj, R (*func)(T*, A0, A1, A2)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const T *obj, R (*func)(const T*, A0, A1, A2)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile T *obj, R (*func)(volatile T*, A0, A1, A2)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile T *obj, R (*func)(const volatile T*, A0, A1, A2)) { +Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2)) { return Callback(func, obj); } @@ -5466,8 +4042,8 @@ Callback callback(const volatile U *obj, R (T::*method)(A0, A * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(void*, A0, A1, A2, A3), void *arg) { +template +Callback callback(R (*func)(T*, A0, A1, A2, A3), U *arg) { return Callback(func, arg); } @@ -5477,8 +4053,8 @@ Callback callback(R (*func)(void*, A0, A1, A2, A3), void *arg * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const void*, A0, A1, A2, A3), const void *arg) { +template +Callback callback(R (*func)(const T*, A0, A1, A2, A3), const U *arg) { return Callback(func, arg); } @@ -5488,8 +4064,8 @@ Callback callback(R (*func)(const void*, A0, A1, A2, A3), con * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(volatile void*, A0, A1, A2, A3), volatile void *arg) { +template +Callback callback(R (*func)(volatile T*, A0, A1, A2, A3), volatile U *arg) { return Callback(func, arg); } @@ -5499,52 +4075,8 @@ Callback callback(R (*func)(volatile void*, A0, A1, A2, A3), * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const volatile void*, A0, A1, A2, A3), const volatile void *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(T*, A0, A1, A2, A3), T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const T*, A0, A1, A2, A3), const T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(volatile T*, A0, A1, A2, A3), volatile T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile T *arg) { +template +Callback callback(R (*func)(const volatile T*, A0, A1, A2, A3), const volatile U *arg) { return Callback(func, arg); } @@ -5556,10 +4088,10 @@ Callback callback(R (*func)(const volatile T*, A0, A1, A2, A3 * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(void *obj, R (*func)(void*, A0, A1, A2, A3)) { +Callback callback(U *obj, R (*func)(T*, A0, A1, A2, A3)) { return Callback(func, obj); } @@ -5571,10 +4103,10 @@ Callback callback(void *obj, R (*func)(void*, A0, A1, A2, A3) * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const void *obj, R (*func)(const void*, A0, A1, A2, A3)) { +Callback callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3)) { return Callback(func, obj); } @@ -5586,10 +4118,10 @@ Callback callback(const void *obj, R (*func)(const void*, A0, * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile void *obj, R (*func)(volatile void*, A0, A1, A2, A3)) { +Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { return Callback(func, obj); } @@ -5601,70 +4133,10 @@ Callback callback(volatile void *obj, R (*func)(volatile void * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile void *obj, R (*func)(const volatile void*, A0, A1, A2, A3)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(T *obj, R (*func)(T*, A0, A1, A2, A3)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const T *obj, R (*func)(const T*, A0, A1, A2, A3)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile T *obj, R (*func)(volatile T*, A0, A1, A2, A3)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile T *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { +Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3)) { return Callback(func, obj); } @@ -5739,8 +4211,8 @@ Callback callback(const volatile U *obj, R (T::*method)(A * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(void*, A0, A1, A2, A3, A4), void *arg) { +template +Callback callback(R (*func)(T*, A0, A1, A2, A3, A4), U *arg) { return Callback(func, arg); } @@ -5750,8 +4222,8 @@ Callback callback(R (*func)(void*, A0, A1, A2, A3, A4), v * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const void*, A0, A1, A2, A3, A4), const void *arg) { +template +Callback callback(R (*func)(const T*, A0, A1, A2, A3, A4), const U *arg) { return Callback(func, arg); } @@ -5761,8 +4233,8 @@ Callback callback(R (*func)(const void*, A0, A1, A2, A3, * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(volatile void*, A0, A1, A2, A3, A4), volatile void *arg) { +template +Callback callback(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile U *arg) { return Callback(func, arg); } @@ -5772,52 +4244,8 @@ Callback callback(R (*func)(volatile void*, A0, A1, A2, A * @param arg Pointer argument to function * @return Callback with infered type */ -template -Callback callback(R (*func)(const volatile void*, A0, A1, A2, A3, A4), const volatile void *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(T*, A0, A1, A2, A3, A4), T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const T*, A0, A1, A2, A3, A4), const T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(volatile T*, A0, A1, A2, A3, A4), volatile T *arg) { - return Callback(func, arg); -} - -/** Create a callback class with type infered from the arguments - * - * @param func Static function to attach - * @param arg Pointer argument to function - * @return Callback with infered type - */ -template -Callback callback(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile T *arg) { +template +Callback callback(R (*func)(const volatile T*, A0, A1, A2, A3, A4), const volatile U *arg) { return Callback(func, arg); } @@ -5829,10 +4257,10 @@ Callback callback(R (*func)(const volatile T*, A0, A1, A2 * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(void *obj, R (*func)(void*, A0, A1, A2, A3, A4)) { +Callback callback(U *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { return Callback(func, obj); } @@ -5844,10 +4272,10 @@ Callback callback(void *obj, R (*func)(void*, A0, A1, A2, * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const void *obj, R (*func)(const void*, A0, A1, A2, A3, A4)) { +Callback callback(const U *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { return Callback(func, obj); } @@ -5859,10 +4287,10 @@ Callback callback(const void *obj, R (*func)(const void*, * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile void *obj, R (*func)(volatile void*, A0, A1, A2, A3, A4)) { +Callback callback(volatile U *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { return Callback(func, obj); } @@ -5874,70 +4302,10 @@ Callback callback(volatile void *obj, R (*func)(volatile * @deprecated * Arguments to callback have been reordered to callback(func, arg) */ -template +template MBED_DEPRECATED_SINCE("mbed-os-5.1", "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile void *obj, R (*func)(const volatile void*, A0, A1, A2, A3, A4)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(T *obj, R (*func)(T*, A0, A1, A2, A3, A4)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const T *obj, R (*func)(const T*, A0, A1, A2, A3, A4)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(volatile T *obj, R (*func)(volatile T*, A0, A1, A2, A3, A4)) { - return Callback(func, obj); -} - -/** Create a callback class with type infered from the arguments - * - * @param obj Optional pointer to object to bind to function - * @param func Static function to attach - * @return Callback with infered type - * @deprecated - * Arguments to callback have been reordered to callback(func, arg) - */ -template -MBED_DEPRECATED_SINCE("mbed-os-5.1", - "Arguments to callback have been reordered to callback(func, arg)") -Callback callback(const volatile T *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { +Callback callback(const volatile U *obj, R (*func)(const volatile T*, A0, A1, A2, A3, A4)) { return Callback(func, obj); }