diff options
author | Murray Cumming <murrayc@murrayc.com> | 2016-03-03 10:53:11 +0100 |
---|---|---|
committer | Murray Cumming <murrayc@murrayc.com> | 2016-03-07 10:46:41 +0100 |
commit | 71a557954264c724123dc40bfa256fa8e21e3e2a (patch) | |
tree | ff72943fa42ab8361efefd15f2a97d211a09adac /sigc++/signal_base.h | |
parent | 78666135523b5a66f52212eaa36aa2a08edac67c (diff) | |
download | sigc++-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.h | 4 |
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. |