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.
Dependents: BLE_ANCS_SDAPI BLE_temperature BLE_HeartRate BLE_ANCS_SDAPI_IRC ... more
Diff: ble/FunctionPointerWithContext.h
- Revision:
- 957:15f5e9046dde
- Parent:
- 953:f6eb43f524b2
- Child:
- 965:212c16f6247f
diff -r 21f1330d61de -r 15f5e9046dde ble/FunctionPointerWithContext.h
--- a/ble/FunctionPointerWithContext.h Thu Nov 26 12:52:33 2015 +0000
+++ b/ble/FunctionPointerWithContext.h Thu Nov 26 12:52:33 2015 +0000
@@ -111,6 +111,19 @@
}
}
+ typedef void (FunctionPointerWithContext::*bool_type)() const;
+
+ /**
+ * implementation of safe bool operator
+ */
+ operator bool_type() const {
+ if(_function || _memberFunctionAndPointer._object) {
+ return &FunctionPointerWithContext::trueValue;
+ }
+
+ return 0;
+ }
+
/**
* Set up an external FunctionPointer as a next in the chain of related
* callbacks. Invoking call() on the head FunctionPointer will invoke all
@@ -156,6 +169,12 @@
}
}
+ /**
+ * @brief True value used in conversion to bool, this function is useless
+ * beside this usage
+ */
+ void trueValue() const {}
+
struct MemberFunctionAndPtr {
/*
* Forward declaration of a class and a member function to this class.