Strange bool overloading
<p>Can you explain for me what the typedef here is doing and what the purpose is?</p>

<pre><code>class C
{
    public:
        ...

        typedef bool (C::*implementation_defined_bool_type)(bool) const;

        operator implementation_defined_bool_type() const {
            return _spi ? &amp;C::isPersistent : 0;
        }

};
</code></pre>
