High level Bluetooth Low Energy API and radio abstraction layer

Fork of BLE_API by Bluetooth Low Energy

Revision:
957:15f5e9046dde
Parent:
953:f6eb43f524b2
Child:
965:212c16f6247f
--- 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.