I'm writing a pub/sub program and is wondering the fundamental differences between QuantLib's Observable/Observer method vs boost:signals2 . Can anyone shred some light on this?
The Observable/Observer approach lacks of flexibility. It needs a particular inhertance and registration.
While the signal/slot approache just requires a certain signature of the function to be called. With 'bind' you may even extend the signature. E.g. it doesn't matter whether you call a member or a free function.
You can connect/disconnect a function at any time. It is possible to disconnect a member function when the encompassing object dies.
Thus you will have full flexibility independent from whatever framework you're using.