Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of BLE_API by
Diff: ble/FunctionPointerWithContext.h
- Revision:
- 884:37599305e7b6
- Parent:
- 881:853f1df9e30a
- Child:
- 886:0a45c67b2301
--- a/ble/FunctionPointerWithContext.h Tue Nov 03 13:21:03 2015 +0000 +++ b/ble/FunctionPointerWithContext.h Thu Nov 26 12:51:59 2015 +0000 @@ -19,6 +19,8 @@ #include <string.h> + + /** A class for storing and calling a pointer to a static or member void function * which takes a context. */ @@ -105,10 +107,10 @@ template<typename T> static void membercaller(pFunctionPointerWithContext_t self, ContextType context) { if (self->_memberFunctionAndPointer._object) { - T *o = static_cast<T *>(self->_memberFunctionAndPointer._object); + T *o = static_cast<T *>(self->_memberFunctionAndPointer._object); void (T::*m)(ContextType); memcpy((char*) &m, self->_memberFunctionAndPointer._memberFunction, sizeof(m)); - (o->*m)(context); + (o->*m)(context); } } @@ -120,9 +122,9 @@ struct MemberFunctionAndPtr { /* - * forward declaration of a class and a member function to this class. - * Because the compiler doesn't know anything about the forwarded member - * function, it will always use the biggest size and the biggest alignment + * forward declaration of a class and a member function to this class. + * Because the compiler doesn't know anything about the forwarded member + * function, it will always use the biggest size and the biggest alignment * that a member function can take for objects of type UndefinedMemberFunction. */ class UndefinedClass; @@ -131,17 +133,17 @@ void* _object; union { char _memberFunction[sizeof(UndefinedMemberFunction)]; - UndefinedMemberFunction _alignment; + UndefinedMemberFunction _alignment; }; }; union { pvoidfcontext_t _function; /**< static function pointer - NULL if none attached */ - /** - * object this pointer and pointer to member - - * _memberFunctionAndPointer._object will be NULL if none attached - */ - MemberFunctionAndPtr _memberFunctionAndPointer; + /** + * object this pointer and pointer to member - + * _memberFunctionAndPointer._object will be NULL if none attached + */ + MemberFunctionAndPtr _memberFunctionAndPointer; }; void (*_caller)(FunctionPointerWithContext*, ContextType);