summaryrefslogtreecommitdiff
path: root/sigc++/signal_base.h
diff options
context:
space:
mode:
authorMurray Cumming <murrayc@murrayc.com>2016-03-03 10:53:11 +0100
committerMurray Cumming <murrayc@murrayc.com>2016-03-07 10:46:41 +0100
commit71a557954264c724123dc40bfa256fa8e21e3e2a (patch)
treeff72943fa42ab8361efefd15f2a97d211a09adac /sigc++/signal_base.h
parent78666135523b5a66f52212eaa36aa2a08edac67c (diff)
downloadsigc++-71a557954264c724123dc40bfa256fa8e21e3e2a.tar.gz
Add and use notifiable base class instead of void*.
Use notifiable as the base class for trackable, connection, signal_impl, self_and_iter and destroy_notify_struct. Use this notifiable* instead of void* for the destroy/notify callback data. This is a little more type-safe and self-documenting. Bug #302152
Diffstat (limited to 'sigc++/signal_base.h')
-rw-r--r--sigc++/signal_base.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sigc++/signal_base.h b/sigc++/signal_base.h
index f50a6cb..94037ca 100644
--- a/sigc++/signal_base.h
+++ b/sigc++/signal_base.h
@@ -42,7 +42,7 @@ namespace internal
* erase() to sweep() when the signal is being emitted. sweep() removes all
* invalid slots from the list.
*/
-struct SIGC_API signal_impl
+struct SIGC_API signal_impl : public notifiable
{
typedef std::size_t size_type;
typedef std::list<slot_base> slot_list;
@@ -167,7 +167,7 @@ struct SIGC_API signal_impl
* erase() to sweep() when the signal is being emitted.
* @param d A local structure, created in insert().
*/
- static void* notify(void* d);
+ static void notify(notifiable* d);
/** Reference counter.
* The object is destroyed when @em ref_count_ reaches zero.