1 #ifndef __pbd_destructible_h__
2 #define __pbd_destructible_h__
4 #include <sigc++/signal.h>
8 /* be very very careful using this class. it does not inherit from sigc::trackable and thus
9 should only be used in multiple-inheritance situations involving another type
10 that does inherit from sigc::trackable (or sigc::trackable itself)
13 class ThingWithGoingAway {
15 virtual ~ThingWithGoingAway () {}
16 sigc::signal<void> GoingAway;
19 class Destructible : public sigc::trackable, public ThingWithGoingAway {
21 virtual ~Destructible () {}
22 void drop_references () const { GoingAway(); }
28 #endif /* __pbd_destructible_h__ */