Boost logo

Boost :

From: Karl Nelson (kenelson_at_[hidden])
Date: 2000-04-10 10:53:01


--- In boost_at_[hidden], "Aleksey Gurtovoy" <alexy_at_m...> wrote:

> > > 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.

Hmm, did you ask about this on the mailing list? It might
have saved you a lot of coding.

You must not have noticed the slot constructor class
SigC::slot_class()?
It is not a requirement for a object to have SigC::Object in
somewhere in the inheritence tree if you don't care about
safe connections. You can make other connections
if you are prepared to do the disconnections by hand.
I should likely fix that piece of documentation through.

--Karl


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