Updated

Fork of BLE_API by Bluetooth Low Energy

Revision:
924:f4a901a3e6cd
Parent:
921:ea542e6519bb
Child:
932:68a113707ba5
diff -r ca1964e56ddf -r f4a901a3e6cd ble/FunctionPointerWithContext.h
--- a/ble/FunctionPointerWithContext.h	Thu Nov 26 12:52:04 2015 +0000
+++ b/ble/FunctionPointerWithContext.h	Thu Nov 26 12:52:04 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.