Boost logo

Boost :

From: Aleksey Gurtovoy (alexy_at_[hidden])
Date: 2000-04-10 10:22:39


Nathan Myers <ncm_at_[hidden]> wrote:
> On Mon, Apr 10, 2000 at 07:17:52AM -0000, Karl Nelson wrote:
> > This letter isn't meant as a put down, but rather to inform
> > that there are far more issues than brought up here. If boost
> > is really serious about getting a signal slot system, there
> > is a huge number of trade offs.
>
> Karl Nelson understands callback issues far, far better than anybody
> else I know. The Boost project cannot go wrong adopting his work or
> his advice.
>
[...]
> > Libsigc++ was written
> > with a lot of portablity, 2.5 times the callbacks, several entire
> > adaptor sets you don't even have. Further, libsigc++ was
> > optimizing for binary size and memory size at the expense
> > of [source] code size.
>
> The tradeoffs described above are exactly what we encourage for Boost.
>

But libsigc++ also has one requirement which wasn't mentioned so far, and
which makes it unacceptable for use in many cases. From libsigc++ API
documentation:

In order for a signal to be connected to object, the object must have Object
somewhere in its inheritence tree.
class virtual Object
  {
    public:
      bool is_dynamic();
      bool is_floating();
      Object();
      virtual ~Object();
  };

That was the main reason which forced us not to use libsigc++ and to develop
our own version of signal/slot system :) some times ago.

--Alexy


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk