From 2d919b7aa679860b8db5ec4391b5349ddb8b2d52 Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Wed, 11 Sep 2019 13:25:49 +0900 Subject: [PATCH] Imported Upstream version 2.99.9 (LGPL3) --- ChangeLog | 151 ++++++++++++++++++ MSVC_Net2017/filelist.am | 8 +- MSVC_Net2017/{libsigc++2.sln => libsigc++3.sln} | 22 +-- .../{libsigc++2.vcxproj => libsigc++3.vcxproj} | 0 ....vcxproj.filters => libsigc++3.vcxproj.filters} | 0 MSVC_Net2017/sigc++config.h | 2 +- MSVC_Net2017/sigc-install.props | 12 +- MSVC_Net2017/sigc.rc | 8 +- MSVC_Net2017/test_accum_iter.vcxproj | 2 +- MSVC_Net2017/test_accumulated.vcxproj | 2 +- MSVC_Net2017/test_bind.vcxproj | 2 +- MSVC_Net2017/test_bind_ref.vcxproj | 2 +- MSVC_Net2017/test_bind_refptr.vcxproj | 2 +- MSVC_Net2017/test_bind_return.vcxproj | 2 +- MSVC_Net2017/test_compose.vcxproj | 2 +- MSVC_Net2017/test_copy_invalid_slot.vcxproj | 2 +- MSVC_Net2017/test_cpp11_lambda.vcxproj | 2 +- MSVC_Net2017/test_custom.vcxproj | 2 +- MSVC_Net2017/test_disconnect.vcxproj | 2 +- MSVC_Net2017/test_disconnect_during_emit.vcxproj | 2 +- MSVC_Net2017/test_exception_catch.vcxproj | 2 +- MSVC_Net2017/test_functor_trait.vcxproj | 172 --------------------- MSVC_Net2017/test_functor_trait.vcxproj.filters | 24 --- MSVC_Net2017/test_hide.vcxproj | 2 +- MSVC_Net2017/test_limit_reference.vcxproj | 2 +- MSVC_Net2017/test_mem_fun.vcxproj | 2 +- MSVC_Net2017/test_ptr_fun.vcxproj | 2 +- MSVC_Net2017/test_retype.vcxproj | 2 +- MSVC_Net2017/test_retype_return.vcxproj | 2 +- MSVC_Net2017/test_signal.vcxproj | 2 +- MSVC_Net2017/test_size.vcxproj | 2 +- MSVC_Net2017/test_slot.vcxproj | 2 +- MSVC_Net2017/test_slot_disconnect.vcxproj | 2 +- MSVC_Net2017/test_track_obj.vcxproj | 2 +- MSVC_Net2017/test_trackable.vcxproj | 2 +- MSVC_Net2017/test_visit_each.vcxproj | 2 +- Makefile.in | 8 +- NEWS | 12 ++ build/config.guess | 28 ++-- build/config.sub | 22 ++- build/ltmain.sh | 6 +- configure | 26 ++-- configure.ac | 2 +- docs/reference/html/annotated.html | 4 +- docs/reference/html/classes.html | 4 +- .../html/classsigc_1_1bound__argument-members.html | 4 +- .../html/classsigc_1_1bound__argument.html | 4 +- ...__wrapper_3_01T__wrapped_01_4_01_4-members.html | 4 +- ...eference__wrapper_3_01T__wrapped_01_4_01_4.html | 4 +- ...__wrapper_3_01const_01T__wrapped_01_4_01_4.html | 4 +- .../classsigc_1_1bound__mem__functor-members.html | 4 +- .../html/classsigc_1_1bound__mem__functor.html | 4 +- .../classsigc_1_1limit__reference-members.html | 4 +- .../html/classsigc_1_1limit__reference.html | 4 +- ...ference_3_01T__type_00_01true_01_4-members.html | 4 +- ...imit__reference_3_01T__type_00_01true_01_4.html | 4 +- .../html/classsigc_1_1mem__functor-members.html | 4 +- docs/reference/html/classsigc_1_1mem__functor.html | 4 +- .../html/classsigc_1_1pointer__functor.html | 4 +- ...3_01T__return_07T__args_8_8_8_08_4-members.html | 4 +- ...functor_3_01T__return_07T__args_8_8_8_08_4.html | 4 +- docs/reference/html/classsigc_1_1signal.html | 4 +- ..._3_01T__return_07T__arg_8_8_8_08_4-members.html | 59 ++++--- ..._1signal_3_01T__return_07T__arg_8_8_8_08_4.html | 7 +- ...07T__arg_8_8_8_08_4_1_1accumulated-members.html | 49 +++--- ..._return_07T__arg_8_8_8_08_4_1_1accumulated.html | 7 +- ...ssigc_1_1signal__with__accumulator-members.html | 49 +++--- .../classsigc_1_1signal__with__accumulator.html | 10 +- docs/reference/html/classsigc_1_1slot.html | 4 +- ..._3_01T__return_07T__arg_8_8_8_08_4-members.html | 4 +- ..._1_1slot_3_01T__return_07T__arg_8_8_8_08_4.html | 4 +- .../html/classsigc_1_1slot__base-members.html | 4 +- docs/reference/html/classsigc_1_1slot__base.html | 4 +- .../classsigc_1_1track__obj__functor-members.html | 6 +- .../html/classsigc_1_1track__obj__functor.html | 6 +- .../html/dir_0bd3c8d814eb03171de012519d7a2ccd.html | 4 +- .../html/dir_5c02128c554eaa40138b2e605fc08970.html | 4 +- .../html/dir_5fbc72877197f8c6013d0f619df5433c.html | 4 +- .../html/dir_721a6b9909c6844e1177e3a6a712a0d2.html | 4 +- docs/reference/html/functions.html | 7 +- docs/reference/html/functions_func.html | 9 +- docs/reference/html/functions_type.html | 4 +- docs/reference/html/functions_vars.html | 4 +- docs/reference/html/graph_legend.html | 4 +- docs/reference/html/group__adaptors.html | 4 +- docs/reference/html/group__bind.html | 4 +- docs/reference/html/group__compose.html | 4 +- docs/reference/html/group__exception__catch.html | 4 +- docs/reference/html/group__hide.html | 4 +- docs/reference/html/group__mem__fun.html | 4 +- docs/reference/html/group__ptr__fun.html | 4 +- docs/reference/html/group__retype.html | 4 +- docs/reference/html/group__sigcfunctors.html | 4 +- docs/reference/html/group__signal.html | 4 +- docs/reference/html/group__slot.html | 4 +- docs/reference/html/group__track__obj.html | 4 +- docs/reference/html/hierarchy.html | 4 +- docs/reference/html/index.html | 4 +- docs/reference/html/inherits.html | 4 +- docs/reference/html/modules.html | 4 +- docs/reference/html/namespacemembers.html | 4 +- docs/reference/html/namespacemembers_func.html | 4 +- docs/reference/html/namespacemembers_type.html | 4 +- docs/reference/html/namespaces.html | 4 +- docs/reference/html/namespacesigc.html | 4 +- docs/reference/html/pages.html | 4 +- docs/reference/html/since_2_4.html | 4 +- docs/reference/html/since_2_8.html | 4 +- .../html/structsigc_1_1adaptor__base.html | 4 +- .../structsigc_1_1adaptor__functor-members.html | 4 +- .../html/structsigc_1_1adaptor__functor.html | 4 +- .../html/structsigc_1_1adaptor__trait.html | 4 +- ...ait_3_01T__functor_00_01false_01_4-members.html | 4 +- ...ptor__trait_3_01T__functor_00_01false_01_4.html | 4 +- ...rait_3_01T__functor_00_01true_01_4-members.html | 4 +- ...aptor__trait_3_01T__functor_00_01true_01_4.html | 4 +- .../html/structsigc_1_1adapts-members.html | 4 +- docs/reference/html/structsigc_1_1adapts.html | 4 +- .../html/structsigc_1_1bind__functor-members.html | 4 +- .../html/structsigc_1_1bind__functor.html | 4 +- ..._01T__functor_00_01T__type_8_8_8_4-members.html | 4 +- ...r_3-1_00_01T__functor_00_01T__type_8_8_8_4.html | 4 +- ...tructsigc_1_1bind__return__functor-members.html | 4 +- .../html/structsigc_1_1bind__return__functor.html | 4 +- .../structsigc_1_1compose1__functor-members.html | 4 +- .../html/structsigc_1_1compose1__functor.html | 4 +- .../structsigc_1_1compose2__functor-members.html | 4 +- .../html/structsigc_1_1compose2__functor.html | 4 +- .../html/structsigc_1_1connection-members.html | 4 +- docs/reference/html/structsigc_1_1connection.html | 8 +- ...tsigc_1_1exception__catch__functor-members.html | 4 +- .../structsigc_1_1exception__catch__functor.html | 4 +- .../html/structsigc_1_1functor__trait-members.html | 4 +- .../html/structsigc_1_1functor__trait.html | 4 +- .../html/structsigc_1_1hide__functor-members.html | 4 +- .../html/structsigc_1_1hide__functor.html | 4 +- .../html/structsigc_1_1notifiable-members.html | 4 +- docs/reference/html/structsigc_1_1notifiable.html | 4 +- .../structsigc_1_1retype__functor-members.html | 4 +- .../html/structsigc_1_1retype__functor.html | 4 +- ...uctsigc_1_1retype__return__functor-members.html | 4 +- .../structsigc_1_1retype__return__functor.html | 4 +- ...ctor_3_01void_00_01T__functor_01_4-members.html | 4 +- ...urn__functor_3_01void_00_01T__functor_01_4.html | 4 +- .../html/structsigc_1_1signal__base-members.html | 33 ++-- .../reference/html/structsigc_1_1signal__base.html | 40 +---- .../html/structsigc_1_1trackable-members.html | 8 +- docs/reference/html/structsigc_1_1trackable.html | 32 +++- .../html/structsigc_1_1type__trait-members.html | 4 +- docs/reference/html/structsigc_1_1type__trait.html | 4 +- ...gc_1_1type__trait_3_01T__type[N]_4-members.html | 4 +- ...structsigc_1_1type__trait_3_01T__type[N]_4.html | 4 +- ...1type__trait_3_01T__type_01_6_01_4-members.html | 4 +- ...tsigc_1_1type__trait_3_01T__type_01_6_01_4.html | 4 +- ...rait_3_01const_01T__type_01_6_01_4-members.html | 4 +- ...1type__trait_3_01const_01T__type_01_6_01_4.html | 4 +- ...tsigc_1_1type__trait_3_01void_01_4-members.html | 4 +- .../structsigc_1_1type__trait_3_01void_01_4.html | 4 +- .../structsigc_1_1unwrap__reference-members.html | 4 +- .../html/structsigc_1_1unwrap__reference.html | 4 +- ...nce__wrapper_3_01T__type_01_4_01_4-members.html | 4 +- ..._1reference__wrapper_3_01T__type_01_4_01_4.html | 4 +- ...nce__wrapper_3_01const_01T__type_01_4_01_4.html | 4 +- .../html/structsigc_1_1visitor-members.html | 4 +- docs/reference/html/structsigc_1_1visitor.html | 4 +- docs/reference/libsigc++-3.0.devhelp2 | 5 +- docs/reference/libsigc++-3.0.tag | 15 +- sigc++/adaptors/track_obj.h | 2 +- sigc++/connection.h | 8 +- sigc++/functors/slot_base.cc | 3 +- sigc++/signal.h | 7 +- sigc++/signal_base.cc | 48 ++---- sigc++/signal_base.h | 25 +-- sigc++/trackable.cc | 11 +- sigc++/trackable.h | 4 +- sigc++/weak_raw_ptr.h | 2 +- tests/test_accum_iter.cc | 3 - tests/test_accumulated.cc | 4 - tests/test_bind.cc | 6 +- tests/test_bind_as_slot.cc | 4 - tests/test_bind_ref.cc | 4 - tests/test_bind_refptr.cc | 2 - tests/test_bind_return.cc | 4 - tests/test_compose.cc | 4 +- tests/test_copy_invalid_slot.cc | 6 +- tests/test_cpp11_lambda.cc | 3 - tests/test_custom.cc | 2 - tests/test_disconnect.cc | 6 - tests/test_exception_catch.cc | 3 - tests/test_hide.cc | 2 - tests/test_limit_reference.cc | 3 - tests/test_mem_fun.cc | 2 - tests/test_ptr_fun.cc | 2 - tests/test_retype.cc | 2 - tests/test_retype_return.cc | 2 - tests/test_signal.cc | 35 ++++- tests/test_signal_move.cc | 8 +- tests/test_size.cc | 3 +- tests/test_slot.cc | 4 - tests/test_slot_disconnect.cc | 3 - tests/test_slot_move.cc | 8 +- tests/test_track_obj.cc | 7 +- tests/test_trackable.cc | 5 +- tests/test_trackable_move.cc | 12 +- tests/test_tuple_cdr.cc | 1 - tests/test_tuple_for_each.cc | 2 - tests/test_tuple_transform_each.cc | 2 +- tests/test_visit_each.cc | 3 - 208 files changed, 719 insertions(+), 881 deletions(-) rename MSVC_Net2017/{libsigc++2.sln => libsigc++3.sln} (92%) rename MSVC_Net2017/{libsigc++2.vcxproj => libsigc++3.vcxproj} (100%) rename MSVC_Net2017/{libsigc++2.vcxproj.filters => libsigc++3.vcxproj.filters} (100%) delete mode 100644 MSVC_Net2017/test_functor_trait.vcxproj delete mode 100644 MSVC_Net2017/test_functor_trait.vcxproj.filters diff --git a/ChangeLog b/ChangeLog index 8d534bc..13c6321 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,154 @@ +2017-08-07 Murray Cumming + + 2.99.9 + +2017-07-21 Murray Cumming + + Tests: Add comments by uses after move. + + Because we really do want to test this. + We do not explicitly promise that it's safe to use moved-from libsigc++ + objects, but we choose to make it safe. + +2017-07-21 Murray Cumming + + signal_impl_exec_holder: Make a constructor explicit. + + Because it has only one parameter. + Noticed by clang-tidy. + +2017-07-21 Murray Cumming + + trackable: Use emplace_back() instead of push_back(). + + Found by clang-tidy. + +2017-07-21 Murray Cumming + + slot_base: Destructor: No need for null check before delete. + + Found by clang-tidy. + +2017-07-21 Murray Cumming + + signal.h: Correct some strange comment formatting. + +2017-07-21 Murray Cumming + + trackable: Make move operations noexcept. + + I don't think there is any reason not to. + Noticed by clang-tidy. + +2017-07-21 Murray Cumming + + weak_raw_ptr: Minor use of auto + + Noticed by clang-tidy. + +2017-07-21 Murray Cumming + + trackable: Don't bother checking for null before using delete. + + Because deleting null is allowed. + Noticed by clang-tidy. + +2017-07-21 Murray Cumming + + track_obj_functor: Make the constructor explicit. + + Because it can take just one argument. + Noticed by clang-tidy. + +2017-07-21 Murray Cumming + + tests: Initialize a member variable. + + Noticed by clang-tidy. + +2017-07-21 Murray Cumming + + tests: Some use of auto. + + Noticed by clang-tidy. + +2017-07-21 Murray Cumming + + tests: Make some casts explicit. + + Noticed by clang-tidy. + +2017-07-21 Murray Cumming + + tests: Include cstring instead of string.h + + Noticed by clang-tidy. + +2017-07-17 Kjell Ahlstedt + + Update method names in comments + + Some method names have changed from libsigc++2 to libsigc++3, but not all + comments have been changed accordingly. + + * sigc++/connection.h: Correct some parameter names in doxygen comments. + connection::notify() has been replaced by a private method in weak_raw_ptr. + * sigc++/signal_base.[cc|h]: signal_impl::notify() has been renamed + notify_self_and_iter_of_invalidated_slot(). + +2017-07-17 Kjell Ahlstedt + + Remove signal_base::erase() and signal_impl::erase() + + They are not used in libsigc++3. Bug 784550 + +2017-07-17 Kjell Ahlstedt + + test_signal: Test calls to signal_base::clear() + + Call it both during signal emission and otherwise. Bug 784550 + +2017-07-17 Kjell Ahlstedt + + signal_impl::clear(): Don't clear the slot list during signal emission + + If signal_impl::clear() is called during signal emission, don't call + slots_.clear(). Let signal_impl::sweep() erase all slots after the signal + emission. Bug 784550 + +2017-04-18 Murray Cumming + + tests: Implement a function. + + We don't actually call the function, but it avoids an inspection + warning from Jetbrains CLion, and doesn't seem unreasonable. + +2017-04-18 Murray Cumming + + tests: Remove unnecessary includes. + + Found by Jetbrains CLion. + +2017-03-16 Chun-wei Fan + + MSVC_Net2017/filelist.am: Fix listing + + The test_functor_trait project was removed, so it ought to be removed from + MSVC_Net2017/filelist.am as well. + +2017-03-14 Chun-wei Fan + + Visual Studio builds: Update "install" + + Numerous headers have been added or deleted during the development phase + of 3.0, so make sure we are copying the right items. + +2017-03-14 Chun-wei Fan + + Visual Studio builds: Rename libsigc++2 projects to libsigc++3 + + This makes it clearer to people that this is 3.x-to-be, not 2.x. + 2017-02-14 Murray Cumming 2.99.8 diff --git a/MSVC_Net2017/filelist.am b/MSVC_Net2017/filelist.am index 08b6f50..e966547 100644 --- a/MSVC_Net2017/filelist.am +++ b/MSVC_Net2017/filelist.am @@ -1,9 +1,9 @@ ## This file is part of libsigc++. msvc_net2017_data = \ - libsigc++2.sln \ - libsigc++2.vcxproj \ - libsigc++2.vcxproj.filters \ + libsigc++3.sln \ + libsigc++3.vcxproj \ + libsigc++3.vcxproj.filters \ sigc++config.h \ sigc.rc \ sigc-build-defines.props \ @@ -38,8 +38,6 @@ msvc_net2017_data = \ test_disconnect_during_emit.vcxproj.filters \ test_exception_catch.vcxproj \ test_exception_catch.vcxproj.filters \ - test_functor_trait.vcxproj \ - test_functor_trait.vcxproj.filters \ test_hide.vcxproj \ test_hide.vcxproj.filters \ test_limit_reference.vcxproj \ diff --git a/MSVC_Net2017/libsigc++2.sln b/MSVC_Net2017/libsigc++3.sln similarity index 92% rename from MSVC_Net2017/libsigc++2.sln rename to MSVC_Net2017/libsigc++3.sln index d566326..60b4d97 100644 --- a/MSVC_Net2017/libsigc++2.sln +++ b/MSVC_Net2017/libsigc++3.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sigc", "libsigc++2.vcxproj", "{83997EF6-02D6-4CDB-8B3C-DBCA3018CC72}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sigc", "libsigc++3.vcxproj", "{83997EF6-02D6-4CDB-8B3C-DBCA3018CC72}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_bind", "test_bind.vcxproj", "{7D0D2CF8-5B22-4F9E-BD38-63083A2CF662}" EndProject @@ -8,14 +8,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_bind_return", "test_bi EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_compose", "test_compose.vcxproj", "{45536B15-5178-4F81-B80C-8287B963F9D9}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_deduce_result_type", "test_deduce_result_type.vcxproj", "{474ACE1B-A818-4947-911C-B298CD7F6FBD}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_disconnect", "test_disconnect.vcxproj", "{5CCF0167-D23D-45B9-BCDA-F0B912470126}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_exception_catch", "test_exception_catch.vcxproj", "{5C976C38-2A50-49E9-B381-6952E683FBED}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_functor_trait", "test_functor_trait.vcxproj", "{F130A6B6-5E0A-4560-AE4A-E281DC538AC9}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_hide", "test_hide.vcxproj", "{64BDAD0B-0D0B-42D0-940E-3BCDA783C880}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_mem_fun", "test_mem_fun.vcxproj", "{66CED940-0111-4196-B921-27B146643F44}" @@ -128,14 +124,6 @@ Global {45536B15-5178-4F81-B80C-8287B963F9D9}.Release|Win32.Build.0 = Release|Win32 {45536B15-5178-4F81-B80C-8287B963F9D9}.Release|x64.ActiveCfg = Release|x64 {45536B15-5178-4F81-B80C-8287B963F9D9}.Release|x64.Build.0 = Release|x64 - {474ACE1B-A818-4947-911C-B298CD7F6FBD}.Debug|Win32.ActiveCfg = Debug|Win32 - {474ACE1B-A818-4947-911C-B298CD7F6FBD}.Debug|Win32.Build.0 = Debug|Win32 - {474ACE1B-A818-4947-911C-B298CD7F6FBD}.Debug|x64.ActiveCfg = Debug|x64 - {474ACE1B-A818-4947-911C-B298CD7F6FBD}.Debug|x64.Build.0 = Debug|x64 - {474ACE1B-A818-4947-911C-B298CD7F6FBD}.Release|Win32.ActiveCfg = Release|Win32 - {474ACE1B-A818-4947-911C-B298CD7F6FBD}.Release|Win32.Build.0 = Release|Win32 - {474ACE1B-A818-4947-911C-B298CD7F6FBD}.Release|x64.ActiveCfg = Release|x64 - {474ACE1B-A818-4947-911C-B298CD7F6FBD}.Release|x64.Build.0 = Release|x64 {5CCF0167-D23D-45B9-BCDA-F0B912470126}.Debug|Win32.ActiveCfg = Debug|Win32 {5CCF0167-D23D-45B9-BCDA-F0B912470126}.Debug|Win32.Build.0 = Debug|Win32 {5CCF0167-D23D-45B9-BCDA-F0B912470126}.Debug|x64.ActiveCfg = Debug|x64 @@ -152,14 +140,6 @@ Global {5C976C38-2A50-49E9-B381-6952E683FBED}.Release|Win32.Build.0 = Release|Win32 {5C976C38-2A50-49E9-B381-6952E683FBED}.Release|x64.ActiveCfg = Release|x64 {5C976C38-2A50-49E9-B381-6952E683FBED}.Release|x64.Build.0 = Release|x64 - {F130A6B6-5E0A-4560-AE4A-E281DC538AC9}.Debug|Win32.ActiveCfg = Debug|Win32 - {F130A6B6-5E0A-4560-AE4A-E281DC538AC9}.Debug|Win32.Build.0 = Debug|Win32 - {F130A6B6-5E0A-4560-AE4A-E281DC538AC9}.Debug|x64.ActiveCfg = Debug|x64 - {F130A6B6-5E0A-4560-AE4A-E281DC538AC9}.Debug|x64.Build.0 = Debug|x64 - {F130A6B6-5E0A-4560-AE4A-E281DC538AC9}.Release|Win32.ActiveCfg = Release|Win32 - {F130A6B6-5E0A-4560-AE4A-E281DC538AC9}.Release|Win32.Build.0 = Release|Win32 - {F130A6B6-5E0A-4560-AE4A-E281DC538AC9}.Release|x64.ActiveCfg = Release|x64 - {F130A6B6-5E0A-4560-AE4A-E281DC538AC9}.Release|x64.Build.0 = Release|x64 {64BDAD0B-0D0B-42D0-940E-3BCDA783C880}.Debug|Win32.ActiveCfg = Debug|Win32 {64BDAD0B-0D0B-42D0-940E-3BCDA783C880}.Debug|Win32.Build.0 = Debug|Win32 {64BDAD0B-0D0B-42D0-940E-3BCDA783C880}.Debug|x64.ActiveCfg = Debug|x64 diff --git a/MSVC_Net2017/libsigc++2.vcxproj b/MSVC_Net2017/libsigc++3.vcxproj similarity index 100% rename from MSVC_Net2017/libsigc++2.vcxproj rename to MSVC_Net2017/libsigc++3.vcxproj diff --git a/MSVC_Net2017/libsigc++2.vcxproj.filters b/MSVC_Net2017/libsigc++3.vcxproj.filters similarity index 100% rename from MSVC_Net2017/libsigc++2.vcxproj.filters rename to MSVC_Net2017/libsigc++3.vcxproj.filters diff --git a/MSVC_Net2017/sigc++config.h b/MSVC_Net2017/sigc++config.h index 20b9004..958f8b2 100644 --- a/MSVC_Net2017/sigc++config.h +++ b/MSVC_Net2017/sigc++config.h @@ -7,7 +7,7 @@ #define SIGCXX_MAJOR_VERSION 2 /* Micro version number of sigc++. */ -#define SIGCXX_MICRO_VERSION 8 +#define SIGCXX_MICRO_VERSION 9 /* Minor version number of sigc++. */ #define SIGCXX_MINOR_VERSION 99 diff --git a/MSVC_Net2017/sigc-install.props b/MSVC_Net2017/sigc-install.props index c3aa67c..bf318f1 100644 --- a/MSVC_Net2017/sigc-install.props +++ b/MSVC_Net2017/sigc-install.props @@ -23,6 +23,7 @@ if "$(Configuration)" == "Debug" copy "$(BinDir)\sigc$(DebugDllSuffix).lib" "$(C mkdir "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors" mkdir "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\functors" +mkdir "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\tuple-utils" copy "..\sigc++\sigc++.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" @@ -30,6 +31,7 @@ copy "..\sigc++\bind.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinor copy "..\sigc++\bind_return.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" copy "..\sigc++\connection.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" copy "..\sigc++\limit_reference.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" +copy "..\sigc++\member_method_trait.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" copy "..\sigc++\reference_wrapper.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" copy "..\sigc++\retype_return.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" copy "..\sigc++\signal.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" @@ -38,17 +40,20 @@ copy "..\sigc++\slot.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinor copy "..\sigc++\trackable.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" copy "..\sigc++\type_traits.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" copy "..\sigc++\visit_each.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" +copy "..\sigc++\weak_raw_ptr.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\" +copy "..\sigc++\adaptors\adapts.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\adaptors\adaptors.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" +copy "..\sigc++\adaptors\adaptor_base.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\adaptors\adaptor_trait.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\adaptors\bind.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\adaptors\bind_return.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\adaptors\bound_argument.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\adaptors\compose.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" -copy "..\sigc++\adaptors\deduce_result_type.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\adaptors\exception_catch.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\adaptors\hide.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\adaptors\retype.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\adaptors\retype_return.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" +copy "..\sigc++\adaptors\tuple_visitor_visit_each.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\adaptors\track_obj.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\adaptors\" copy "..\sigc++\functors\functors.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\functors\" copy "..\sigc++\functors\functor_trait.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\functors\" @@ -56,6 +61,11 @@ copy "..\sigc++\functors\mem_fun.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion copy "..\sigc++\functors\ptr_fun.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\functors\" copy "..\sigc++\functors\slot.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\functors\" copy "..\sigc++\functors\slot_base.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\functors\" +copy "..\sigc++\tuple-utils\tuple_cdr.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\tuple-utils" +copy "..\sigc++\tuple-utils\tuple_end.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\tuple-utils" +copy "..\sigc++\tuple-utils\tuple_for_each.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\tuple-utils" +copy "..\sigc++\tuple-utils\tuple_start.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\tuple-utils" +copy "..\sigc++\tuple-utils\tuple_transform_each.h" "$(CopyDir)\include\sigc++-$(ApiMajorVersion).$(ApiMinorVersion)\sigc++\tuple-utils" diff --git a/MSVC_Net2017/sigc.rc b/MSVC_Net2017/sigc.rc index e3bc4da..b41fade 100644 --- a/MSVC_Net2017/sigc.rc +++ b/MSVC_Net2017/sigc.rc @@ -2,8 +2,8 @@ #include VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,99,8,1 - PRODUCTVERSION 2,99,8,1 + FILEVERSION 2,99,9,1 + PRODUCTVERSION 2,99,9,1 FILEFLAGSMASK 0 FILEFLAGS 0x0L FILEOS VOS__WINDOWS32 @@ -16,11 +16,11 @@ BEGIN BEGIN VALUE "CompanyName", "The libsigc++ development team (see AUTHORS)" VALUE "FileDescription", "The Typesafe Callback Framework for C++" - VALUE "FileVersion", "2.99.8" + VALUE "FileVersion", "2.99.9" VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)" VALUE "OriginalFilename", "sigc-3.0.dll" VALUE "ProductName", "libsigc++" - VALUE "ProductVersion", "2.99.8" + VALUE "ProductVersion", "2.99.9" END END BLOCK "VarFileInfo" diff --git a/MSVC_Net2017/test_accum_iter.vcxproj b/MSVC_Net2017/test_accum_iter.vcxproj index 4bb80bd..b9f7f72 100644 --- a/MSVC_Net2017/test_accum_iter.vcxproj +++ b/MSVC_Net2017/test_accum_iter.vcxproj @@ -156,7 +156,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} diff --git a/MSVC_Net2017/test_accumulated.vcxproj b/MSVC_Net2017/test_accumulated.vcxproj index bfef9e2..6d7aa2d 100644 --- a/MSVC_Net2017/test_accumulated.vcxproj +++ b/MSVC_Net2017/test_accumulated.vcxproj @@ -156,7 +156,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_bind.vcxproj b/MSVC_Net2017/test_bind.vcxproj index 8b66bec..e15b139 100644 --- a/MSVC_Net2017/test_bind.vcxproj +++ b/MSVC_Net2017/test_bind.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_bind_ref.vcxproj b/MSVC_Net2017/test_bind_ref.vcxproj index 725a7e6..3bf1b86 100644 --- a/MSVC_Net2017/test_bind_ref.vcxproj +++ b/MSVC_Net2017/test_bind_ref.vcxproj @@ -156,7 +156,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} diff --git a/MSVC_Net2017/test_bind_refptr.vcxproj b/MSVC_Net2017/test_bind_refptr.vcxproj index cff1a40..5ca3389 100644 --- a/MSVC_Net2017/test_bind_refptr.vcxproj +++ b/MSVC_Net2017/test_bind_refptr.vcxproj @@ -156,7 +156,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} diff --git a/MSVC_Net2017/test_bind_return.vcxproj b/MSVC_Net2017/test_bind_return.vcxproj index e7c8538..a942645 100644 --- a/MSVC_Net2017/test_bind_return.vcxproj +++ b/MSVC_Net2017/test_bind_return.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_compose.vcxproj b/MSVC_Net2017/test_compose.vcxproj index 0f2fb76..418b9ce 100644 --- a/MSVC_Net2017/test_compose.vcxproj +++ b/MSVC_Net2017/test_compose.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_copy_invalid_slot.vcxproj b/MSVC_Net2017/test_copy_invalid_slot.vcxproj index e540447..8e0510f 100644 --- a/MSVC_Net2017/test_copy_invalid_slot.vcxproj +++ b/MSVC_Net2017/test_copy_invalid_slot.vcxproj @@ -156,7 +156,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} diff --git a/MSVC_Net2017/test_cpp11_lambda.vcxproj b/MSVC_Net2017/test_cpp11_lambda.vcxproj index 2804722..eadcd51 100644 --- a/MSVC_Net2017/test_cpp11_lambda.vcxproj +++ b/MSVC_Net2017/test_cpp11_lambda.vcxproj @@ -156,7 +156,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} diff --git a/MSVC_Net2017/test_custom.vcxproj b/MSVC_Net2017/test_custom.vcxproj index 2ef3566..a965ae8 100644 --- a/MSVC_Net2017/test_custom.vcxproj +++ b/MSVC_Net2017/test_custom.vcxproj @@ -156,7 +156,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} diff --git a/MSVC_Net2017/test_disconnect.vcxproj b/MSVC_Net2017/test_disconnect.vcxproj index 9f73266..3041fc5 100644 --- a/MSVC_Net2017/test_disconnect.vcxproj +++ b/MSVC_Net2017/test_disconnect.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_disconnect_during_emit.vcxproj b/MSVC_Net2017/test_disconnect_during_emit.vcxproj index aac119c..e6f6456 100644 --- a/MSVC_Net2017/test_disconnect_during_emit.vcxproj +++ b/MSVC_Net2017/test_disconnect_during_emit.vcxproj @@ -153,7 +153,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_exception_catch.vcxproj b/MSVC_Net2017/test_exception_catch.vcxproj index c4276bb..b9a4ca6 100644 --- a/MSVC_Net2017/test_exception_catch.vcxproj +++ b/MSVC_Net2017/test_exception_catch.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_functor_trait.vcxproj b/MSVC_Net2017/test_functor_trait.vcxproj deleted file mode 100644 index 0697477..0000000 --- a/MSVC_Net2017/test_functor_trait.vcxproj +++ /dev/null @@ -1,172 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {F130A6B6-5E0A-4560-AE4A-E281DC538AC9} - Win32Proj - - - - Application - MultiByte - v141 - - - Application - MultiByte - v141 - - - Application - MultiByte - v141 - - - Application - MultiByte - v141 - - - - - - - - - - - - - - - - - - - - - - - true - true - false - false - - - - Disabled - _DEBUG;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - true - - - Level3 - EditAndContinue - - - Console - false - - - MachineX86 - - - - - Disabled - _DEBUG;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebugDLL - true - - - Level3 - ProgramDatabase - - - Console - false - - - - - - - %(PreprocessorDefinitions) - MultiThreadedDLL - true - - - Level3 - ProgramDatabase - - - Console - true - true - false - - - MachineX86 - - - - - %(PreprocessorDefinitions) - MultiThreadedDLL - true - - - Level3 - ProgramDatabase - - - Console - true - true - false - - - - - - - - - - - - - - - - {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} - false - - - - - - - - - diff --git a/MSVC_Net2017/test_functor_trait.vcxproj.filters b/MSVC_Net2017/test_functor_trait.vcxproj.filters deleted file mode 100644 index 2bc14f2..0000000 --- a/MSVC_Net2017/test_functor_trait.vcxproj.filters +++ /dev/null @@ -1,24 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx - - - - Source Files - Source Files - - - Header Files - - diff --git a/MSVC_Net2017/test_hide.vcxproj b/MSVC_Net2017/test_hide.vcxproj index 19f81b8..a6cb62a 100644 --- a/MSVC_Net2017/test_hide.vcxproj +++ b/MSVC_Net2017/test_hide.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_limit_reference.vcxproj b/MSVC_Net2017/test_limit_reference.vcxproj index c280ea5..912e238 100644 --- a/MSVC_Net2017/test_limit_reference.vcxproj +++ b/MSVC_Net2017/test_limit_reference.vcxproj @@ -156,7 +156,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} diff --git a/MSVC_Net2017/test_mem_fun.vcxproj b/MSVC_Net2017/test_mem_fun.vcxproj index 0c85e4a..e07ec9e 100644 --- a/MSVC_Net2017/test_mem_fun.vcxproj +++ b/MSVC_Net2017/test_mem_fun.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_ptr_fun.vcxproj b/MSVC_Net2017/test_ptr_fun.vcxproj index 853adc7..655ab4c 100644 --- a/MSVC_Net2017/test_ptr_fun.vcxproj +++ b/MSVC_Net2017/test_ptr_fun.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_retype.vcxproj b/MSVC_Net2017/test_retype.vcxproj index 37800ff..8eb0fdd 100644 --- a/MSVC_Net2017/test_retype.vcxproj +++ b/MSVC_Net2017/test_retype.vcxproj @@ -153,7 +153,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_retype_return.vcxproj b/MSVC_Net2017/test_retype_return.vcxproj index e11b258..1d3b49d 100644 --- a/MSVC_Net2017/test_retype_return.vcxproj +++ b/MSVC_Net2017/test_retype_return.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_signal.vcxproj b/MSVC_Net2017/test_signal.vcxproj index bbb0ead..6b72c86 100644 --- a/MSVC_Net2017/test_signal.vcxproj +++ b/MSVC_Net2017/test_signal.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_size.vcxproj b/MSVC_Net2017/test_size.vcxproj index ef86d36..1c8fb70 100644 --- a/MSVC_Net2017/test_size.vcxproj +++ b/MSVC_Net2017/test_size.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_slot.vcxproj b/MSVC_Net2017/test_slot.vcxproj index 4385cb5..c9752e4 100644 --- a/MSVC_Net2017/test_slot.vcxproj +++ b/MSVC_Net2017/test_slot.vcxproj @@ -158,7 +158,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_slot_disconnect.vcxproj b/MSVC_Net2017/test_slot_disconnect.vcxproj index 1bbdec3..55f66fb 100644 --- a/MSVC_Net2017/test_slot_disconnect.vcxproj +++ b/MSVC_Net2017/test_slot_disconnect.vcxproj @@ -156,7 +156,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} diff --git a/MSVC_Net2017/test_track_obj.vcxproj b/MSVC_Net2017/test_track_obj.vcxproj index 248ba18..622d946 100644 --- a/MSVC_Net2017/test_track_obj.vcxproj +++ b/MSVC_Net2017/test_track_obj.vcxproj @@ -155,7 +155,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} diff --git a/MSVC_Net2017/test_trackable.vcxproj b/MSVC_Net2017/test_trackable.vcxproj index b9407ce..a57abc9 100644 --- a/MSVC_Net2017/test_trackable.vcxproj +++ b/MSVC_Net2017/test_trackable.vcxproj @@ -157,7 +157,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} false diff --git a/MSVC_Net2017/test_visit_each.vcxproj b/MSVC_Net2017/test_visit_each.vcxproj index f6c872d..b9347c1 100644 --- a/MSVC_Net2017/test_visit_each.vcxproj +++ b/MSVC_Net2017/test_visit_each.vcxproj @@ -156,7 +156,7 @@ - + {83997ef6-02d6-4cdb-8b3c-dbca3018cc72} diff --git a/Makefile.in b/Makefile.in index aac4dd5..14d43a1 100644 --- a/Makefile.in +++ b/Makefile.in @@ -415,9 +415,9 @@ nodist_pkgconfig_DATA = $(SIGCXX_MODULE_NAME).pc noinst_DATA = $(SIGCXX_MODULE_NAME)-uninstalled.pc dist_noinst_SCRIPTS = autogen.sh msvc_net2017_data = \ - libsigc++2.sln \ - libsigc++2.vcxproj \ - libsigc++2.vcxproj.filters \ + libsigc++3.sln \ + libsigc++3.vcxproj \ + libsigc++3.vcxproj.filters \ sigc++config.h \ sigc.rc \ sigc-build-defines.props \ @@ -452,8 +452,6 @@ msvc_net2017_data = \ test_disconnect_during_emit.vcxproj.filters \ test_exception_catch.vcxproj \ test_exception_catch.vcxproj.filters \ - test_functor_trait.vcxproj \ - test_functor_trait.vcxproj.filters \ test_hide.vcxproj \ test_hide.vcxproj.filters \ test_limit_reference.vcxproj \ diff --git a/NEWS b/NEWS index 0322912..a2a15c0 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,15 @@ +2.99.9: (unstable) + +* signal_impl::clear(): Don't clear the slot list during signal emission, + to prevent a segfault. And add a test for this. + (Kjell Ahlstedt) Bug #784550 (Andrejs Hanins) +* Remove signal_base::erase() and signal_impl::erase(). + (Kjell Ahlstedt) Bug #784550 +* Various minor code cleanups. + (Murray Cumming) +* Windows: Update the MS Visual Studio build. + (Chu-wei Fan) + 2.99.8: (unstable) * signal_impl: diff --git a/build/config.guess b/build/config.guess index 0967f2a..2e9ad7f 100755 --- a/build/config.guess +++ b/build/config.guess @@ -2,7 +2,7 @@ # Attempt to guess a canonical system name. # Copyright 1992-2016 Free Software Foundation, Inc. -timestamp='2016-04-02' +timestamp='2016-10-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -186,9 +186,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. + # to ELF recently (or will in the future) and ABI. case "${UNAME_MACHINE_ARCH}" in - arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ @@ -997,6 +1000,9 @@ EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; + mips64el:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-${LIBC} exit ;; @@ -1029,6 +1035,9 @@ EOF ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; @@ -1408,18 +1417,17 @@ esac cat >&2 < in order to provide the needed -information to handle your system. +If $0 has already been updated, send the following data and any +information you think might be pertinent to config-patches@gnu.org to +provide the necessary information to handle your system. config.guess timestamp = $timestamp diff --git a/build/config.sub b/build/config.sub index 8d39c4b..dd2ca93 100755 --- a/build/config.sub +++ b/build/config.sub @@ -2,7 +2,7 @@ # Configuration validation subroutine script. # Copyright 1992-2016 Free Software Foundation, Inc. -timestamp='2016-03-30' +timestamp='2016-11-04' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -117,7 +117,7 @@ case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | \ + kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` @@ -301,6 +301,7 @@ case $basic_machine in | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pru \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ @@ -428,6 +429,7 @@ case $basic_machine in | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pru-* \ | pyramid-* \ | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ @@ -643,6 +645,14 @@ case $basic_machine in basic_machine=m68k-bull os=-sysv3 ;; + e500v[12]) + basic_machine=powerpc-unknown + os=$os"spe" + ;; + e500v[12]-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + os=$os"spe" + ;; ebmon29k) basic_machine=a29k-amd os=-ebmon @@ -1022,7 +1032,7 @@ case $basic_machine in ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppcle | powerpclittle | ppc-le | powerpc-little) + ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) @@ -1032,7 +1042,7 @@ case $basic_machine in ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) + ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) @@ -1389,7 +1399,7 @@ case $os in | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ @@ -1399,7 +1409,7 @@ case $os in | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos*) + | -onefs* | -tirtos* | -phoenix* | -fuchsia*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) diff --git a/build/ltmain.sh b/build/ltmain.sh index 2ad8be8..a736cf9 100644 --- a/build/ltmain.sh +++ b/build/ltmain.sh @@ -31,7 +31,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-1" +VERSION="2.4.6 Debian-2.4.6-2" package_revision=2.4.6 @@ -1977,7 +1977,7 @@ func_version () # End: # Set a version string. -scriptversion='(GNU libtool) 2.4.6 Debian-2.4.6-1' +scriptversion='(GNU libtool) 2.4.6' # func_echo ARG... @@ -2068,7 +2068,7 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion + version: $progname $scriptversion Debian-2.4.6-2 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` diff --git a/configure b/configure index 692c46e..a168539 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libsigc++ 2.99.8. +# Generated by GNU Autoconf 2.69 for libsigc++ 2.99.9. # # Report bugs to . # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libsigc++' PACKAGE_TARNAME='libsigc++' -PACKAGE_VERSION='2.99.8' -PACKAGE_STRING='libsigc++ 2.99.8' +PACKAGE_VERSION='2.99.9' +PACKAGE_STRING='libsigc++ 2.99.9' PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=libsigc%2B%2B' PACKAGE_URL='http://libsigc.sourceforge.net/' @@ -1389,7 +1389,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libsigc++ 2.99.8 to adapt to many kinds of systems. +\`configure' configures libsigc++ 2.99.9 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1460,7 +1460,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libsigc++ 2.99.8:";; + short | recursive ) echo "Configuration of libsigc++ 2.99.9:";; esac cat <<\_ACEOF @@ -1615,7 +1615,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libsigc++ configure 2.99.8 +libsigc++ configure 2.99.9 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2014,7 +2014,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libsigc++ $as_me 2.99.8, which was +It was created by libsigc++ $as_me 2.99.9, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2884,7 +2884,7 @@ fi # Define the identity of the package. PACKAGE='libsigc++' - VERSION='2.99.8' + VERSION='2.99.9' # Some tools Automake needs. @@ -3177,7 +3177,7 @@ fi SIGCXX_MODULE_NAME='sigc++-3.0' -SIGCXX_VERSION='2.99.8' +SIGCXX_VERSION='2.99.9' SIGCXX_API_VERSION='3.0' @@ -3191,10 +3191,10 @@ SIGCXX_MINOR_VERSION=99 $as_echo "#define SIGCXX_MINOR_VERSION 99" >>confdefs.h -SIGCXX_MICRO_VERSION=8 +SIGCXX_MICRO_VERSION=9 -$as_echo "#define SIGCXX_MICRO_VERSION 8" >>confdefs.h +$as_echo "#define SIGCXX_MICRO_VERSION 9" >>confdefs.h MMDOCTOOLDIR='${top_srcdir}/docs' @@ -19130,7 +19130,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libsigc++ $as_me 2.99.8, which was +This file was extended by libsigc++ $as_me 2.99.9, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19197,7 +19197,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libsigc++ config.status 2.99.8 +libsigc++ config.status 2.99.9 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index cc91f77..ca5b786 100644 --- a/configure.ac +++ b/configure.ac @@ -15,7 +15,7 @@ ## You should have received a copy of the GNU Lesser General Public License ## along with this library. If not, see . -AC_INIT([libsigc++], [2.99.8], +AC_INIT([libsigc++], [2.99.9], [http://bugzilla.gnome.org/enter_bug.cgi?product=libsigc%2B%2B], [libsigc++], [http://libsigc.sourceforge.net/]) AC_PREREQ([2.59]) diff --git a/docs/reference/html/annotated.html b/docs/reference/html/annotated.html index 9976e4e..561dfd5 100644 --- a/docs/reference/html/annotated.html +++ b/docs/reference/html/annotated.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -106,7 +106,7 @@ diff --git a/docs/reference/html/classes.html b/docs/reference/html/classes.html index 144646d..bb40f2e 100644 --- a/docs/reference/html/classes.html +++ b/docs/reference/html/classes.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -151,7 +151,7 @@ diff --git a/docs/reference/html/classsigc_1_1bound__argument-members.html b/docs/reference/html/classsigc_1_1bound__argument-members.html index 80747f1..0a1b932 100644 --- a/docs/reference/html/classsigc_1_1bound__argument-members.html +++ b/docs/reference/html/classsigc_1_1bound__argument-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -64,7 +64,7 @@ diff --git a/docs/reference/html/classsigc_1_1bound__argument.html b/docs/reference/html/classsigc_1_1bound__argument.html index a58b4d9..f8b6b90 100644 --- a/docs/reference/html/classsigc_1_1bound__argument.html +++ b/docs/reference/html/classsigc_1_1bound__argument.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -181,7 +181,7 @@ template <typename T_type> diff --git a/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01T__wrapped_01_4_01_4-members.html b/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01T__wrapped_01_4_01_4-members.html index 7835f05..03d338a 100644 --- a/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01T__wrapped_01_4_01_4-members.html +++ b/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01T__wrapped_01_4_01_4-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -64,7 +64,7 @@ diff --git a/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01T__wrapped_01_4_01_4.html b/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01T__wrapped_01_4_01_4.html index 79cd675..2a2e53d 100644 --- a/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01T__wrapped_01_4_01_4.html +++ b/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01T__wrapped_01_4_01_4.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -177,7 +177,7 @@ template <typename T_wrapped > diff --git a/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01const_01T__wrapped_01_4_01_4.html b/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01const_01T__wrapped_01_4_01_4.html index 5fc3f93..7fb14e0 100644 --- a/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01const_01T__wrapped_01_4_01_4.html +++ b/docs/reference/html/classsigc_1_1bound__argument_3_01std_1_1reference__wrapper_3_01const_01T__wrapped_01_4_01_4.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -179,7 +179,7 @@ template <typename T_wrapped > diff --git a/docs/reference/html/classsigc_1_1bound__mem__functor-members.html b/docs/reference/html/classsigc_1_1bound__mem__functor-members.html index 19fe173..3b31844 100644 --- a/docs/reference/html/classsigc_1_1bound__mem__functor-members.html +++ b/docs/reference/html/classsigc_1_1bound__mem__functor-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -72,7 +72,7 @@ diff --git a/docs/reference/html/classsigc_1_1bound__mem__functor.html b/docs/reference/html/classsigc_1_1bound__mem__functor.html index d280759..e5a8e01 100644 --- a/docs/reference/html/classsigc_1_1bound__mem__functor.html +++ b/docs/reference/html/classsigc_1_1bound__mem__functor.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -252,7 +252,7 @@ template <typename T_func , typename... T_arg> diff --git a/docs/reference/html/classsigc_1_1limit__reference-members.html b/docs/reference/html/classsigc_1_1limit__reference-members.html index ab387e7..8c15273 100644 --- a/docs/reference/html/classsigc_1_1limit__reference-members.html +++ b/docs/reference/html/classsigc_1_1limit__reference-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -70,7 +70,7 @@ diff --git a/docs/reference/html/classsigc_1_1limit__reference.html b/docs/reference/html/classsigc_1_1limit__reference.html index 10591f0..aa490f6 100644 --- a/docs/reference/html/classsigc_1_1limit__reference.html +++ b/docs/reference/html/classsigc_1_1limit__reference.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -343,7 +343,7 @@ template <typename T_type, bool I_derives_trackable = std::is_base_of<trac diff --git a/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4-members.html b/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4-members.html index eff1b41..7e19ffa 100644 --- a/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4-members.html +++ b/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -65,7 +65,7 @@ diff --git a/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html b/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html index f7e2d0c..89c83ae 100644 --- a/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html +++ b/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -200,7 +200,7 @@ template <typename T_type > diff --git a/docs/reference/html/classsigc_1_1mem__functor-members.html b/docs/reference/html/classsigc_1_1mem__functor-members.html index 336724b..24dc1a3 100644 --- a/docs/reference/html/classsigc_1_1mem__functor-members.html +++ b/docs/reference/html/classsigc_1_1mem__functor-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -68,7 +68,7 @@ diff --git a/docs/reference/html/classsigc_1_1mem__functor.html b/docs/reference/html/classsigc_1_1mem__functor.html index ce8d242..2f6294d 100644 --- a/docs/reference/html/classsigc_1_1mem__functor.html +++ b/docs/reference/html/classsigc_1_1mem__functor.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -267,7 +267,7 @@ template <typename T_func, typename... T_arg> diff --git a/docs/reference/html/classsigc_1_1pointer__functor.html b/docs/reference/html/classsigc_1_1pointer__functor.html index 65ae945..8eec588 100644 --- a/docs/reference/html/classsigc_1_1pointer__functor.html +++ b/docs/reference/html/classsigc_1_1pointer__functor.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -73,7 +73,7 @@ class sigc::pointer_functor< T_return, T_args > diff --git a/docs/reference/html/classsigc_1_1pointer__functor_3_01T__return_07T__args_8_8_8_08_4-members.html b/docs/reference/html/classsigc_1_1pointer__functor_3_01T__return_07T__args_8_8_8_08_4-members.html index 9ad9eae..27e546d 100644 --- a/docs/reference/html/classsigc_1_1pointer__functor_3_01T__return_07T__args_8_8_8_08_4-members.html +++ b/docs/reference/html/classsigc_1_1pointer__functor_3_01T__return_07T__args_8_8_8_08_4-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -65,7 +65,7 @@ diff --git a/docs/reference/html/classsigc_1_1pointer__functor_3_01T__return_07T__args_8_8_8_08_4.html b/docs/reference/html/classsigc_1_1pointer__functor_3_01T__return_07T__args_8_8_8_08_4.html index e2521b5..ce34a82 100644 --- a/docs/reference/html/classsigc_1_1pointer__functor_3_01T__return_07T__args_8_8_8_08_4.html +++ b/docs/reference/html/classsigc_1_1pointer__functor_3_01T__return_07T__args_8_8_8_08_4.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -203,7 +203,7 @@ template <typename T_return , typename... T_args> diff --git a/docs/reference/html/classsigc_1_1signal.html b/docs/reference/html/classsigc_1_1signal.html index d4ecf7f..2da2946 100644 --- a/docs/reference/html/classsigc_1_1signal.html +++ b/docs/reference/html/classsigc_1_1signal.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -81,7 +81,7 @@ class sigc::signal< T_return, T_arg > diff --git a/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4-members.html b/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4-members.html index 1dd583b..8e5473e 100644 --- a/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4-members.html +++ b/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -68,38 +68,37 @@ sigc::signal_base::connect(slot_base&& slot_)sigc::signal_baseprotected emit(type_trait_take_t< T_arg >...a) constsigc::signal_with_accumulator< T_return, void, T_arg...>inline empty() const noexceptsigc::signal_baseinline - erase(iterator_type i)sigc::signal_baseprotected - impl() const sigc::signal_baseprotected - impl_sigc::signal_basemutableprotected - insert(iterator_type i, const slot_base& slot_)sigc::signal_baseprotected - insert(iterator_type i, slot_base&& slot_)sigc::signal_baseprotected - iterator_type typedefsigc::signal_baseprotected - make_slot() constsigc::signal_with_accumulator< T_return, void, T_arg...>inline - operator()(type_trait_take_t< T_arg >...a) constsigc::signal_with_accumulator< T_return, void, T_arg...>inline - operator=(const signal& src)sigc::signal< T_return(T_arg...)>inline - operator=(signal&& src)sigc::signal< T_return(T_arg...)>inline - signal_with_accumulator< T_return, void, T_arg...>::operator=(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, void, T_arg...>inline - signal_with_accumulator< T_return, void, T_arg...>::operator=(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, void, T_arg...>inline - sigc::signal_base::operator=(const signal_base& src)sigc::signal_base - sigc::signal_base::operator=(signal_base&& src)sigc::signal_base - signal()=defaultsigc::signal< T_return(T_arg...)> - signal(const signal& src)sigc::signal< T_return(T_arg...)>inline - signal(signal&& src)sigc::signal< T_return(T_arg...)>inline - signal_base() noexceptsigc::signal_base - signal_base(const signal_base& src) noexceptsigc::signal_base - signal_base(signal_base&& src)sigc::signal_base - signal_with_accumulator()=defaultsigc::signal_with_accumulator< T_return, void, T_arg...> - signal_with_accumulator(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, void, T_arg...>inline - signal_with_accumulator(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, void, T_arg...>inline - size() const noexceptsigc::signal_base - size_type typedefsigc::signal_base - slot_type typedefsigc::signal_with_accumulator< T_return, void, T_arg...> - unblock() noexceptsigc::signal_base - ~signal_base()sigc::signal_base + impl() const sigc::signal_baseprotected + impl_sigc::signal_basemutableprotected + insert(iterator_type i, const slot_base& slot_)sigc::signal_baseprotected + insert(iterator_type i, slot_base&& slot_)sigc::signal_baseprotected + iterator_type typedefsigc::signal_baseprotected + make_slot() constsigc::signal_with_accumulator< T_return, void, T_arg...>inline + operator()(type_trait_take_t< T_arg >...a) constsigc::signal_with_accumulator< T_return, void, T_arg...>inline + operator=(const signal& src)sigc::signal< T_return(T_arg...)>inline + operator=(signal&& src)sigc::signal< T_return(T_arg...)>inline + signal_with_accumulator< T_return, void, T_arg...>::operator=(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, void, T_arg...>inline + signal_with_accumulator< T_return, void, T_arg...>::operator=(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, void, T_arg...>inline + sigc::signal_base::operator=(const signal_base& src)sigc::signal_base + sigc::signal_base::operator=(signal_base&& src)sigc::signal_base + signal()=defaultsigc::signal< T_return(T_arg...)> + signal(const signal& src)sigc::signal< T_return(T_arg...)>inline + signal(signal&& src)sigc::signal< T_return(T_arg...)>inline + signal_base() noexceptsigc::signal_base + signal_base(const signal_base& src) noexceptsigc::signal_base + signal_base(signal_base&& src)sigc::signal_base + signal_with_accumulator()=defaultsigc::signal_with_accumulator< T_return, void, T_arg...> + signal_with_accumulator(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, void, T_arg...>inline + signal_with_accumulator(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, void, T_arg...>inline + size() const noexceptsigc::signal_base + size_type typedefsigc::signal_base + slot_type typedefsigc::signal_with_accumulator< T_return, void, T_arg...> + unblock() noexceptsigc::signal_base + ~signal_base()sigc::signal_base diff --git a/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4.html b/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4.html index 49abd63..e34765d 100644 --- a/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4.html +++ b/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -169,9 +169,6 @@ Additional Inherited Members iterator_type connect (slot_base&& slot_)  Adds a slot at the end of the list of slots. More...
  -iterator_type erase (iterator_type i) - Removes the slot at the given position from the list of slots. More...
std::shared_ptr< internal::signal_impl > impl () const  Returns the signal_impl object encapsulating the list of slots. More...
  @@ -335,7 +332,7 @@ template <typename T_return , typename... T_arg> diff --git a/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4_1_1accumulated-members.html b/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4_1_1accumulated-members.html index 0764f6f..502a161 100644 --- a/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4_1_1accumulated-members.html +++ b/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4_1_1accumulated-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -69,33 +69,32 @@ sigc::signal_base::connect(slot_base&& slot_)sigc::signal_baseprotected emit(type_trait_take_t< T_arg >...a) constsigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline empty() const noexceptsigc::signal_baseinline - erase(iterator_type i)sigc::signal_baseprotected - impl() const sigc::signal_baseprotected - impl_sigc::signal_basemutableprotected - insert(iterator_type i, const slot_base& slot_)sigc::signal_baseprotected - insert(iterator_type i, slot_base&& slot_)sigc::signal_baseprotected - iterator_type typedefsigc::signal_baseprotected - make_slot() constsigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline - operator()(type_trait_take_t< T_arg >...a) constsigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline - operator=(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline - operator=(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline - sigc::signal_base::operator=(const signal_base& src)sigc::signal_base - sigc::signal_base::operator=(signal_base&& src)sigc::signal_base - signal_base() noexceptsigc::signal_base - signal_base(const signal_base& src) noexceptsigc::signal_base - signal_base(signal_base&& src)sigc::signal_base - signal_with_accumulator()=defaultsigc::signal_with_accumulator< T_return, T_accumulator, T_arg...> - signal_with_accumulator(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline - signal_with_accumulator(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline - size() const noexceptsigc::signal_base - size_type typedefsigc::signal_base - slot_type typedefsigc::signal_with_accumulator< T_return, T_accumulator, T_arg...> - unblock() noexceptsigc::signal_base - ~signal_base()sigc::signal_base + impl() const sigc::signal_baseprotected + impl_sigc::signal_basemutableprotected + insert(iterator_type i, const slot_base& slot_)sigc::signal_baseprotected + insert(iterator_type i, slot_base&& slot_)sigc::signal_baseprotected + iterator_type typedefsigc::signal_baseprotected + make_slot() constsigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline + operator()(type_trait_take_t< T_arg >...a) constsigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline + operator=(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline + operator=(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline + sigc::signal_base::operator=(const signal_base& src)sigc::signal_base + sigc::signal_base::operator=(signal_base&& src)sigc::signal_base + signal_base() noexceptsigc::signal_base + signal_base(const signal_base& src) noexceptsigc::signal_base + signal_base(signal_base&& src)sigc::signal_base + signal_with_accumulator()=defaultsigc::signal_with_accumulator< T_return, T_accumulator, T_arg...> + signal_with_accumulator(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline + signal_with_accumulator(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg...>inline + size() const noexceptsigc::signal_base + size_type typedefsigc::signal_base + slot_type typedefsigc::signal_with_accumulator< T_return, T_accumulator, T_arg...> + unblock() noexceptsigc::signal_base + ~signal_base()sigc::signal_base diff --git a/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4_1_1accumulated.html b/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4_1_1accumulated.html index 4e2ec01..df36748 100644 --- a/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4_1_1accumulated.html +++ b/docs/reference/html/classsigc_1_1signal_3_01T__return_07T__arg_8_8_8_08_4_1_1accumulated.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -153,9 +153,6 @@ Additional Inherited Members iterator_type connect (slot_base&& slot_)  Adds a slot at the end of the list of slots. More...
  -iterator_type erase (iterator_type i) - Removes the slot at the given position from the list of slots. More...
std::shared_ptr< internal::signal_impl > impl () const  Returns the signal_impl object encapsulating the list of slots. More...
  @@ -261,7 +258,7 @@ template <typename T_accumulator > diff --git a/docs/reference/html/classsigc_1_1signal__with__accumulator-members.html b/docs/reference/html/classsigc_1_1signal__with__accumulator-members.html index 4ec7601..09361f2 100644 --- a/docs/reference/html/classsigc_1_1signal__with__accumulator-members.html +++ b/docs/reference/html/classsigc_1_1signal__with__accumulator-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -67,33 +67,32 @@ sigc::signal_base::connect(slot_base&& slot_)sigc::signal_baseprotected emit(type_trait_take_t< T_arg >...a) const sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline empty() const noexceptsigc::signal_baseinline - erase(iterator_type i)sigc::signal_baseprotected - impl() const sigc::signal_baseprotected - impl_sigc::signal_basemutableprotected - insert(iterator_type i, const slot_base& slot_)sigc::signal_baseprotected - insert(iterator_type i, slot_base&& slot_)sigc::signal_baseprotected - iterator_type typedefsigc::signal_baseprotected - make_slot() const sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline - operator()(type_trait_take_t< T_arg >...a) const sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline - operator=(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline - operator=(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline - sigc::signal_base::operator=(const signal_base& src)sigc::signal_base - sigc::signal_base::operator=(signal_base&& src)sigc::signal_base - signal_base() noexceptsigc::signal_base - signal_base(const signal_base& src) noexceptsigc::signal_base - signal_base(signal_base&& src)sigc::signal_base - signal_with_accumulator()=defaultsigc::signal_with_accumulator< T_return, T_accumulator, T_arg > - signal_with_accumulator(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline - signal_with_accumulator(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline - size() const noexceptsigc::signal_base - size_type typedefsigc::signal_base - slot_type typedefsigc::signal_with_accumulator< T_return, T_accumulator, T_arg > - unblock() noexceptsigc::signal_base - ~signal_base()sigc::signal_base + impl() const sigc::signal_baseprotected + impl_sigc::signal_basemutableprotected + insert(iterator_type i, const slot_base& slot_)sigc::signal_baseprotected + insert(iterator_type i, slot_base&& slot_)sigc::signal_baseprotected + iterator_type typedefsigc::signal_baseprotected + make_slot() const sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline + operator()(type_trait_take_t< T_arg >...a) const sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline + operator=(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline + operator=(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline + sigc::signal_base::operator=(const signal_base& src)sigc::signal_base + sigc::signal_base::operator=(signal_base&& src)sigc::signal_base + signal_base() noexceptsigc::signal_base + signal_base(const signal_base& src) noexceptsigc::signal_base + signal_base(signal_base&& src)sigc::signal_base + signal_with_accumulator()=defaultsigc::signal_with_accumulator< T_return, T_accumulator, T_arg > + signal_with_accumulator(const signal_with_accumulator& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline + signal_with_accumulator(signal_with_accumulator&& src)sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >inline + size() const noexceptsigc::signal_base + size_type typedefsigc::signal_base + slot_type typedefsigc::signal_with_accumulator< T_return, T_accumulator, T_arg > + unblock() noexceptsigc::signal_base + ~signal_base()sigc::signal_base diff --git a/docs/reference/html/classsigc_1_1signal__with__accumulator.html b/docs/reference/html/classsigc_1_1signal__with__accumulator.html index 583688e..bc8f8b4 100644 --- a/docs/reference/html/classsigc_1_1signal__with__accumulator.html +++ b/docs/reference/html/classsigc_1_1signal__with__accumulator.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -151,9 +151,6 @@ Additional Inherited Members iterator_type connect (slot_base&& slot_)  Adds a slot at the end of the list of slots. More...
  -iterator_type erase (iterator_type i) - Removes the slot at the given position from the list of slots. More...
std::shared_ptr< internal::signal_impl > impl () const  Returns the signal_impl object encapsulating the list of slots. More...
  @@ -177,7 +174,8 @@ class sigc::signal_with_accumulator< T_return, T_accumulator, T_arg >

If you want to connect one signal to another, use make_slot() to retrieve a functor that emits the signal when invoked.

Be careful if you directly pass one signal into the connect() method of another: a shallow copy of the signal is made and the signal's slots are not disconnected until both the signal and its clone are destroyed, which is probably not what you want!

The following template arguments are used:

    -
  • T_return The desired return type for the emit() function (may be overridden by the accumulator).* - T_arg Argument types used in the definition of emit().
  • +
  • T_return The desired return type for the emit() function (may be overridden by the accumulator).
  • +
  • T_arg Argument types used in the definition of emit().
  • T_accumulator The accumulator type used for emission. The default void means that no accumulator should be used, for example if signal emission returns the return value of the last slot invoked.

Member Typedef Documentation

@@ -488,7 +486,7 @@ template <typename T_return, typename T_accumulator, typename... T_arg> diff --git a/docs/reference/html/classsigc_1_1slot.html b/docs/reference/html/classsigc_1_1slot.html index 594e8ad..3fbcd5a 100644 --- a/docs/reference/html/classsigc_1_1slot.html +++ b/docs/reference/html/classsigc_1_1slot.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -75,7 +75,7 @@ class sigc::slot< T_return, T_arg > diff --git a/docs/reference/html/classsigc_1_1slot_3_01T__return_07T__arg_8_8_8_08_4-members.html b/docs/reference/html/classsigc_1_1slot_3_01T__return_07T__arg_8_8_8_08_4-members.html index 42207ed..155c3de 100644 --- a/docs/reference/html/classsigc_1_1slot_3_01T__return_07T__arg_8_8_8_08_4-members.html +++ b/docs/reference/html/classsigc_1_1slot_3_01T__return_07T__arg_8_8_8_08_4-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -87,7 +87,7 @@ diff --git a/docs/reference/html/classsigc_1_1slot_3_01T__return_07T__arg_8_8_8_08_4.html b/docs/reference/html/classsigc_1_1slot_3_01T__return_07T__arg_8_8_8_08_4.html index 9616e17..42d180b 100644 --- a/docs/reference/html/classsigc_1_1slot_3_01T__return_07T__arg_8_8_8_08_4.html +++ b/docs/reference/html/classsigc_1_1slot_3_01T__return_07T__arg_8_8_8_08_4.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -392,7 +392,7 @@ template <typename T_return , typename... T_arg> diff --git a/docs/reference/html/classsigc_1_1slot__base-members.html b/docs/reference/html/classsigc_1_1slot__base-members.html index 2886d45..243a86f 100644 --- a/docs/reference/html/classsigc_1_1slot__base-members.html +++ b/docs/reference/html/classsigc_1_1slot__base-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -80,7 +80,7 @@ diff --git a/docs/reference/html/classsigc_1_1slot__base.html b/docs/reference/html/classsigc_1_1slot__base.html index f779352..1276e97 100644 --- a/docs/reference/html/classsigc_1_1slot__base.html +++ b/docs/reference/html/classsigc_1_1slot__base.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -624,7 +624,7 @@ Public Attributes diff --git a/docs/reference/html/classsigc_1_1track__obj__functor-members.html b/docs/reference/html/classsigc_1_1track__obj__functor-members.html index 4ef9a80..da4cf78 100644 --- a/docs/reference/html/classsigc_1_1track__obj__functor-members.html +++ b/docs/reference/html/classsigc_1_1track__obj__functor-members.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -62,11 +62,11 @@ functor_sigc::adapts< T_functor >mutable operator()()sigc::track_obj_functor< T_functor, T_obj >inline operator()(T_arg&&...arg)sigc::track_obj_functor< T_functor, T_obj >inline - track_obj_functor(const T_functor& func, const T_obj&...obj)sigc::track_obj_functor< T_functor, T_obj >inline + track_obj_functor(const T_functor& func, const T_obj&...obj)sigc::track_obj_functor< T_functor, T_obj >inlineexplicit diff --git a/docs/reference/html/classsigc_1_1track__obj__functor.html b/docs/reference/html/classsigc_1_1track__obj__functor.html index e5459dd..fd52afe 100644 --- a/docs/reference/html/classsigc_1_1track__obj__functor.html +++ b/docs/reference/html/classsigc_1_1track__obj__functor.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -139,7 +139,7 @@ template <typename T_functor , typename... T_obj> -inline +inlineexplicit
@@ -224,7 +224,7 @@ template <typename... T_arg>
diff --git a/docs/reference/html/dir_0bd3c8d814eb03171de012519d7a2ccd.html b/docs/reference/html/dir_0bd3c8d814eb03171de012519d7a2ccd.html index c2ba4c8..0b676fe 100644 --- a/docs/reference/html/dir_0bd3c8d814eb03171de012519d7a2ccd.html +++ b/docs/reference/html/dir_0bd3c8d814eb03171de012519d7a2ccd.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -82,7 +82,7 @@ Files diff --git a/docs/reference/html/dir_5c02128c554eaa40138b2e605fc08970.html b/docs/reference/html/dir_5c02128c554eaa40138b2e605fc08970.html index ba7df0f..f47c102 100644 --- a/docs/reference/html/dir_5c02128c554eaa40138b2e605fc08970.html +++ b/docs/reference/html/dir_5c02128c554eaa40138b2e605fc08970.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -93,7 +93,7 @@ Files diff --git a/docs/reference/html/dir_5fbc72877197f8c6013d0f619df5433c.html b/docs/reference/html/dir_5fbc72877197f8c6013d0f619df5433c.html index 6e0e87f..6a918bf 100644 --- a/docs/reference/html/dir_5fbc72877197f8c6013d0f619df5433c.html +++ b/docs/reference/html/dir_5fbc72877197f8c6013d0f619df5433c.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -66,7 +66,7 @@ Files diff --git a/docs/reference/html/dir_721a6b9909c6844e1177e3a6a712a0d2.html b/docs/reference/html/dir_721a6b9909c6844e1177e3a6a712a0d2.html index 28048db..0a76668 100644 --- a/docs/reference/html/dir_721a6b9909c6844e1177e3a6a712a0d2.html +++ b/docs/reference/html/dir_721a6b9909c6844e1177e3a6a712a0d2.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -64,7 +64,7 @@ Files diff --git a/docs/reference/html/functions.html b/docs/reference/html/functions.html index 17ce53a..7abc713 100644 --- a/docs/reference/html/functions.html +++ b/docs/reference/html/functions.html @@ -19,7 +19,7 @@
libsigc++ -  2.99.8 +  2.99.9
@@ -186,9 +186,6 @@ , sigc::signal_base , sigc::slot_base -
  • erase() -: sigc::signal_base -
  • exception_catch_functor() : sigc::exception_catch_functor< T_functor, T_catcher >
  • @@ -467,7 +464,7 @@ diff --git a/docs/reference/html/functions_func.html b/docs/reference/html/functions_func.html index 7ec28bd..48b6192 100644 --- a/docs/reference/html/functions_func.html +++ b/docs/reference/html/functions_func.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -168,9 +168,6 @@ , sigc::signal_base , sigc::slot_base -
  • erase() -: sigc::signal_base -
  • exception_catch_functor() : sigc::exception_catch_functor< T_functor, T_catcher >
  • @@ -258,7 +255,7 @@ , sigc::signal_with_accumulator< T_return, T_accumulator, T_arg > , sigc::slot< T_return(T_arg...)> , sigc::slot_base -, sigc::trackable +, sigc::trackable @@ -357,7 +354,7 @@ diff --git a/docs/reference/html/functions_type.html b/docs/reference/html/functions_type.html index 476b1fb..5f1f577 100644 --- a/docs/reference/html/functions_type.html +++ b/docs/reference/html/functions_type.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -164,7 +164,7 @@ diff --git a/docs/reference/html/functions_vars.html b/docs/reference/html/functions_vars.html index a44b659..3c0430d 100644 --- a/docs/reference/html/functions_vars.html +++ b/docs/reference/html/functions_vars.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -98,7 +98,7 @@ diff --git a/docs/reference/html/graph_legend.html b/docs/reference/html/graph_legend.html index 92a4d1c..22db69a 100644 --- a/docs/reference/html/graph_legend.html +++ b/docs/reference/html/graph_legend.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -109,7 +109,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem diff --git a/docs/reference/html/group__adaptors.html b/docs/reference/html/group__adaptors.html index 029f1c6..4da03e7 100644 --- a/docs/reference/html/group__adaptors.html +++ b/docs/reference/html/group__adaptors.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -93,7 +93,7 @@ Classes diff --git a/docs/reference/html/group__bind.html b/docs/reference/html/group__bind.html index e28af32..e8cfba9 100644 --- a/docs/reference/html/group__bind.html +++ b/docs/reference/html/group__bind.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -257,7 +257,7 @@ template <typename T_return , typename T_functor > diff --git a/docs/reference/html/group__compose.html b/docs/reference/html/group__compose.html index 6646728..f498b46 100644 --- a/docs/reference/html/group__compose.html +++ b/docs/reference/html/group__compose.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -186,7 +186,7 @@ template <typename T_setter , typename T_getter1 , typename T_getter2 > diff --git a/docs/reference/html/group__exception__catch.html b/docs/reference/html/group__exception__catch.html index 388dc8e..6d50c27 100644 --- a/docs/reference/html/group__exception__catch.html +++ b/docs/reference/html/group__exception__catch.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -70,7 +70,7 @@ diff --git a/docs/reference/html/group__hide.html b/docs/reference/html/group__hide.html index dbbe079..bcb5d5d 100644 --- a/docs/reference/html/group__hide.html +++ b/docs/reference/html/group__hide.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -205,7 +205,7 @@ template <typename T_functor > diff --git a/docs/reference/html/group__mem__fun.html b/docs/reference/html/group__mem__fun.html index 6ee9fb0..4d2209c 100644 --- a/docs/reference/html/group__mem__fun.html +++ b/docs/reference/html/group__mem__fun.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -183,7 +183,7 @@ template <typename T_return , typename T_obj , typename T_obj2 , typename... diff --git a/docs/reference/html/group__ptr__fun.html b/docs/reference/html/group__ptr__fun.html index 715dfd2..146354a 100644 --- a/docs/reference/html/group__ptr__fun.html +++ b/docs/reference/html/group__ptr__fun.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -120,7 +120,7 @@ template <typename T_return , typename... T_args> diff --git a/docs/reference/html/group__retype.html b/docs/reference/html/group__retype.html index a864fd2..0dc6d52 100644 --- a/docs/reference/html/group__retype.html +++ b/docs/reference/html/group__retype.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -202,7 +202,7 @@ template <typename T_return , typename T_functor > diff --git a/docs/reference/html/group__sigcfunctors.html b/docs/reference/html/group__sigcfunctors.html index b2ba84f..71cda8f 100644 --- a/docs/reference/html/group__sigcfunctors.html +++ b/docs/reference/html/group__sigcfunctors.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -155,7 +155,7 @@ template <typename T_action , typename T_functor > diff --git a/docs/reference/html/group__signal.html b/docs/reference/html/group__signal.html index c2d6c1a..0ed0b54 100644 --- a/docs/reference/html/group__signal.html +++ b/docs/reference/html/group__signal.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -89,7 +89,7 @@ Classes diff --git a/docs/reference/html/group__slot.html b/docs/reference/html/group__slot.html index fd26a57..9f3aa0c 100644 --- a/docs/reference/html/group__slot.html +++ b/docs/reference/html/group__slot.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -88,7 +88,7 @@ C++ Lambdas diff --git a/docs/reference/html/group__track__obj.html b/docs/reference/html/group__track__obj.html index 88e4055..eff7fb7 100644 --- a/docs/reference/html/group__track__obj.html +++ b/docs/reference/html/group__track__obj.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -130,7 +130,7 @@ template <typename T_functor , typename... T_obj> diff --git a/docs/reference/html/hierarchy.html b/docs/reference/html/hierarchy.html index 6e1f857..1af00b9 100644 --- a/docs/reference/html/hierarchy.html +++ b/docs/reference/html/hierarchy.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -116,7 +116,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically: diff --git a/docs/reference/html/index.html b/docs/reference/html/index.html index 47484eb..78b77e0 100644 --- a/docs/reference/html/index.html +++ b/docs/reference/html/index.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -81,7 +81,7 @@ Using CMake diff --git a/docs/reference/html/inherits.html b/docs/reference/html/inherits.html index 9770488..767cc47 100644 --- a/docs/reference/html/inherits.html +++ b/docs/reference/html/inherits.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -194,7 +194,7 @@ diff --git a/docs/reference/html/modules.html b/docs/reference/html/modules.html index 6e24ef5..3565e2b 100644 --- a/docs/reference/html/modules.html +++ b/docs/reference/html/modules.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -62,7 +62,7 @@ diff --git a/docs/reference/html/namespacemembers.html b/docs/reference/html/namespacemembers.html index 237e335..593a4e6 100644 --- a/docs/reference/html/namespacemembers.html +++ b/docs/reference/html/namespacemembers.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -105,7 +105,7 @@ diff --git a/docs/reference/html/namespacemembers_func.html b/docs/reference/html/namespacemembers_func.html index eee55c1..8c7a64e 100644 --- a/docs/reference/html/namespacemembers_func.html +++ b/docs/reference/html/namespacemembers_func.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -99,7 +99,7 @@ diff --git a/docs/reference/html/namespacemembers_type.html b/docs/reference/html/namespacemembers_type.html index 8e7bb52..542108a 100644 --- a/docs/reference/html/namespacemembers_type.html +++ b/docs/reference/html/namespacemembers_type.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -63,7 +63,7 @@ diff --git a/docs/reference/html/namespaces.html b/docs/reference/html/namespaces.html index 729919f..66d937c 100644 --- a/docs/reference/html/namespaces.html +++ b/docs/reference/html/namespaces.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -57,7 +57,7 @@ diff --git a/docs/reference/html/namespacesigc.html b/docs/reference/html/namespacesigc.html index 7fdf10d..877194d 100644 --- a/docs/reference/html/namespacesigc.html +++ b/docs/reference/html/namespacesigc.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -379,7 +379,7 @@ template <typename T_type > diff --git a/docs/reference/html/pages.html b/docs/reference/html/pages.html index 2aedbae..2b92475 100644 --- a/docs/reference/html/pages.html +++ b/docs/reference/html/pages.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -52,7 +52,7 @@ diff --git a/docs/reference/html/since_2_4.html b/docs/reference/html/since_2_4.html index f76f615..d159470 100644 --- a/docs/reference/html/since_2_4.html +++ b/docs/reference/html/since_2_4.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -60,7 +60,7 @@ diff --git a/docs/reference/html/since_2_8.html b/docs/reference/html/since_2_8.html index 4f788f1..229a4b7 100644 --- a/docs/reference/html/since_2_8.html +++ b/docs/reference/html/since_2_8.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -54,7 +54,7 @@ diff --git a/docs/reference/html/structsigc_1_1adaptor__base.html b/docs/reference/html/structsigc_1_1adaptor__base.html index 26e5f5e..c694941 100644 --- a/docs/reference/html/structsigc_1_1adaptor__base.html +++ b/docs/reference/html/structsigc_1_1adaptor__base.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -74,7 +74,7 @@ Inheritance diagram for sigc::adaptor_base: diff --git a/docs/reference/html/structsigc_1_1adaptor__functor-members.html b/docs/reference/html/structsigc_1_1adaptor__functor-members.html index 17f462d..aec82a9 100644 --- a/docs/reference/html/structsigc_1_1adaptor__functor-members.html +++ b/docs/reference/html/structsigc_1_1adaptor__functor-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -67,7 +67,7 @@ diff --git a/docs/reference/html/structsigc_1_1adaptor__functor.html b/docs/reference/html/structsigc_1_1adaptor__functor.html index 33ed3fa..f26173e 100644 --- a/docs/reference/html/structsigc_1_1adaptor__functor.html +++ b/docs/reference/html/structsigc_1_1adaptor__functor.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -298,7 +298,7 @@ template <typename T_functor > diff --git a/docs/reference/html/structsigc_1_1adaptor__trait.html b/docs/reference/html/structsigc_1_1adaptor__trait.html index 9ee86eb..9dafa89 100644 --- a/docs/reference/html/structsigc_1_1adaptor__trait.html +++ b/docs/reference/html/structsigc_1_1adaptor__trait.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -70,7 +70,7 @@ struct sigc::adaptor_trait< T_functor, I_isadaptor > diff --git a/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4-members.html b/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4-members.html index 917ac7a..3c99d8b 100644 --- a/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4-members.html +++ b/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -62,7 +62,7 @@ diff --git a/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4.html b/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4.html index a6314e3..ae36be2 100644 --- a/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4.html +++ b/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -93,7 +93,7 @@ template <typename T_functor > diff --git a/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4-members.html b/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4-members.html index aac00bd..cc0a5bd 100644 --- a/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4-members.html +++ b/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -62,7 +62,7 @@ diff --git a/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4.html b/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4.html index 1003a5c..513bf2d 100644 --- a/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4.html +++ b/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -93,7 +93,7 @@ template <typename T_functor > diff --git a/docs/reference/html/structsigc_1_1adapts-members.html b/docs/reference/html/structsigc_1_1adapts-members.html index 24b9c22..de32646 100644 --- a/docs/reference/html/structsigc_1_1adapts-members.html +++ b/docs/reference/html/structsigc_1_1adapts-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -63,7 +63,7 @@ diff --git a/docs/reference/html/structsigc_1_1adapts.html b/docs/reference/html/structsigc_1_1adapts.html index 58d0c6f..07e64fd 100644 --- a/docs/reference/html/structsigc_1_1adapts.html +++ b/docs/reference/html/structsigc_1_1adapts.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -194,7 +194,7 @@ template <typename T_functor> diff --git a/docs/reference/html/structsigc_1_1bind__functor-members.html b/docs/reference/html/structsigc_1_1bind__functor-members.html index 4d3bbee..01056d0 100644 --- a/docs/reference/html/structsigc_1_1bind__functor-members.html +++ b/docs/reference/html/structsigc_1_1bind__functor-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -65,7 +65,7 @@ diff --git a/docs/reference/html/structsigc_1_1bind__functor.html b/docs/reference/html/structsigc_1_1bind__functor.html index 2b46758..76d40f3 100644 --- a/docs/reference/html/structsigc_1_1bind__functor.html +++ b/docs/reference/html/structsigc_1_1bind__functor.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -190,7 +190,7 @@ template <typename... T_arg> diff --git a/docs/reference/html/structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type_8_8_8_4-members.html b/docs/reference/html/structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type_8_8_8_4-members.html index bde7eaf..a3f8cc8 100644 --- a/docs/reference/html/structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type_8_8_8_4-members.html +++ b/docs/reference/html/structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type_8_8_8_4-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -66,7 +66,7 @@ diff --git a/docs/reference/html/structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type_8_8_8_4.html b/docs/reference/html/structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type_8_8_8_4.html index d800934..25507f6 100644 --- a/docs/reference/html/structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type_8_8_8_4.html +++ b/docs/reference/html/structsigc_1_1bind__functor_3-1_00_01T__functor_00_01T__type_8_8_8_4.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -206,7 +206,7 @@ template <typename T_functor , typename... T_type> diff --git a/docs/reference/html/structsigc_1_1bind__return__functor-members.html b/docs/reference/html/structsigc_1_1bind__return__functor-members.html index 6375107..8047286 100644 --- a/docs/reference/html/structsigc_1_1bind__return__functor-members.html +++ b/docs/reference/html/structsigc_1_1bind__return__functor-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -67,7 +67,7 @@ diff --git a/docs/reference/html/structsigc_1_1bind__return__functor.html b/docs/reference/html/structsigc_1_1bind__return__functor.html index 72f4b2d..091b245 100644 --- a/docs/reference/html/structsigc_1_1bind__return__functor.html +++ b/docs/reference/html/structsigc_1_1bind__return__functor.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -233,7 +233,7 @@ template <typename T_return , typename T_functor > diff --git a/docs/reference/html/structsigc_1_1compose1__functor-members.html b/docs/reference/html/structsigc_1_1compose1__functor-members.html index 09edf9f..8dc9f42 100644 --- a/docs/reference/html/structsigc_1_1compose1__functor-members.html +++ b/docs/reference/html/structsigc_1_1compose1__functor-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -67,7 +67,7 @@ diff --git a/docs/reference/html/structsigc_1_1compose1__functor.html b/docs/reference/html/structsigc_1_1compose1__functor.html index 71c3233..0384511 100644 --- a/docs/reference/html/structsigc_1_1compose1__functor.html +++ b/docs/reference/html/structsigc_1_1compose1__functor.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -224,7 +224,7 @@ template <typename T_setter , typename T_getter > diff --git a/docs/reference/html/structsigc_1_1compose2__functor-members.html b/docs/reference/html/structsigc_1_1compose2__functor-members.html index 5448025..bcc7a9c 100644 --- a/docs/reference/html/structsigc_1_1compose2__functor-members.html +++ b/docs/reference/html/structsigc_1_1compose2__functor-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -68,7 +68,7 @@ diff --git a/docs/reference/html/structsigc_1_1compose2__functor.html b/docs/reference/html/structsigc_1_1compose2__functor.html index 1e57cc3..3fca58e 100644 --- a/docs/reference/html/structsigc_1_1compose2__functor.html +++ b/docs/reference/html/structsigc_1_1compose2__functor.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -248,7 +248,7 @@ template <typename T_setter , typename T_getter1 , typename T_getter2 > diff --git a/docs/reference/html/structsigc_1_1connection-members.html b/docs/reference/html/structsigc_1_1connection-members.html index 0c05afb..5d1c9cd 100644 --- a/docs/reference/html/structsigc_1_1connection-members.html +++ b/docs/reference/html/structsigc_1_1connection-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -73,7 +73,7 @@ diff --git a/docs/reference/html/structsigc_1_1connection.html b/docs/reference/html/structsigc_1_1connection.html index 4886dbd..412c22b 100644 --- a/docs/reference/html/structsigc_1_1connection.html +++ b/docs/reference/html/structsigc_1_1connection.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -180,7 +180,7 @@ Public Member Functions

    Constructs a connection object from a slot object.

    Parameters
    - +
    slThe slot to operate on.
    slotThe slot to operate on.
    @@ -374,7 +374,7 @@ Public Member Functions

    Overrides this connection object copying another one.

    Parameters
    - +
    cThe connection object to make a copy from.
    srcThe connection object to make a copy from.
    @@ -410,7 +410,7 @@ Public Member Functions diff --git a/docs/reference/html/structsigc_1_1exception__catch__functor-members.html b/docs/reference/html/structsigc_1_1exception__catch__functor-members.html index 351302c..cbdad2f 100644 --- a/docs/reference/html/structsigc_1_1exception__catch__functor-members.html +++ b/docs/reference/html/structsigc_1_1exception__catch__functor-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -67,7 +67,7 @@ diff --git a/docs/reference/html/structsigc_1_1exception__catch__functor.html b/docs/reference/html/structsigc_1_1exception__catch__functor.html index 40ca4ef..6e631a3 100644 --- a/docs/reference/html/structsigc_1_1exception__catch__functor.html +++ b/docs/reference/html/structsigc_1_1exception__catch__functor.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -201,7 +201,7 @@ template <typename T_functor , typename T_catcher > diff --git a/docs/reference/html/structsigc_1_1functor__trait-members.html b/docs/reference/html/structsigc_1_1functor__trait-members.html index 1dfaa37..278a8d8 100644 --- a/docs/reference/html/structsigc_1_1functor__trait-members.html +++ b/docs/reference/html/structsigc_1_1functor__trait-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -62,7 +62,7 @@ diff --git a/docs/reference/html/structsigc_1_1functor__trait.html b/docs/reference/html/structsigc_1_1functor__trait.html index 1b8ac7b..a720e6d 100644 --- a/docs/reference/html/structsigc_1_1functor__trait.html +++ b/docs/reference/html/structsigc_1_1functor__trait.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -99,7 +99,7 @@ template <typename T_functor > diff --git a/docs/reference/html/structsigc_1_1hide__functor-members.html b/docs/reference/html/structsigc_1_1hide__functor-members.html index fd7b4e5..0b23784 100644 --- a/docs/reference/html/structsigc_1_1hide__functor-members.html +++ b/docs/reference/html/structsigc_1_1hide__functor-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -65,7 +65,7 @@ diff --git a/docs/reference/html/structsigc_1_1hide__functor.html b/docs/reference/html/structsigc_1_1hide__functor.html index 0e4e4d7..5fbe10f 100644 --- a/docs/reference/html/structsigc_1_1hide__functor.html +++ b/docs/reference/html/structsigc_1_1hide__functor.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -179,7 +179,7 @@ template <typename... T_arg> diff --git a/docs/reference/html/structsigc_1_1notifiable-members.html b/docs/reference/html/structsigc_1_1notifiable-members.html index 90cdf5b..0cd0931 100644 --- a/docs/reference/html/structsigc_1_1notifiable-members.html +++ b/docs/reference/html/structsigc_1_1notifiable-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -62,7 +62,7 @@ diff --git a/docs/reference/html/structsigc_1_1notifiable.html b/docs/reference/html/structsigc_1_1notifiable.html index 6cd226a..d7181fc 100644 --- a/docs/reference/html/structsigc_1_1notifiable.html +++ b/docs/reference/html/structsigc_1_1notifiable.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -89,7 +89,7 @@ Public Types diff --git a/docs/reference/html/structsigc_1_1retype__functor-members.html b/docs/reference/html/structsigc_1_1retype__functor-members.html index b02236e..1f4aa40 100644 --- a/docs/reference/html/structsigc_1_1retype__functor-members.html +++ b/docs/reference/html/structsigc_1_1retype__functor-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -65,7 +65,7 @@ diff --git a/docs/reference/html/structsigc_1_1retype__functor.html b/docs/reference/html/structsigc_1_1retype__functor.html index cee4fdc..6de5ae4 100644 --- a/docs/reference/html/structsigc_1_1retype__functor.html +++ b/docs/reference/html/structsigc_1_1retype__functor.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -168,7 +168,7 @@ template <typename... T_arg> diff --git a/docs/reference/html/structsigc_1_1retype__return__functor-members.html b/docs/reference/html/structsigc_1_1retype__return__functor-members.html index 27f0014..11b010e 100644 --- a/docs/reference/html/structsigc_1_1retype__return__functor-members.html +++ b/docs/reference/html/structsigc_1_1retype__return__functor-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -67,7 +67,7 @@ diff --git a/docs/reference/html/structsigc_1_1retype__return__functor.html b/docs/reference/html/structsigc_1_1retype__return__functor.html index 01d95ae..d2fc74b 100644 --- a/docs/reference/html/structsigc_1_1retype__return__functor.html +++ b/docs/reference/html/structsigc_1_1retype__return__functor.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -214,7 +214,7 @@ template <typename... T_arg> diff --git a/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4-members.html b/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4-members.html index c282c2e..dcb3149 100644 --- a/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4-members.html +++ b/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -67,7 +67,7 @@ diff --git a/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html b/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html index 613d2db..221b75f 100644 --- a/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html +++ b/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -201,7 +201,7 @@ template <typename... T_arg> diff --git a/docs/reference/html/structsigc_1_1signal__base-members.html b/docs/reference/html/structsigc_1_1signal__base-members.html index c7e49a3..24a09e5 100644 --- a/docs/reference/html/structsigc_1_1signal__base-members.html +++ b/docs/reference/html/structsigc_1_1signal__base-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -64,25 +64,24 @@ connect(const slot_base& slot_)sigc::signal_baseprotected connect(slot_base&& slot_)sigc::signal_baseprotected empty() const noexceptsigc::signal_baseinline - erase(iterator_type i)sigc::signal_baseprotected - impl() const sigc::signal_baseprotected - impl_sigc::signal_basemutableprotected - insert(iterator_type i, const slot_base& slot_)sigc::signal_baseprotected - insert(iterator_type i, slot_base&& slot_)sigc::signal_baseprotected - iterator_type typedefsigc::signal_baseprotected - operator=(const signal_base& src)sigc::signal_base - operator=(signal_base&& src)sigc::signal_base - signal_base() noexceptsigc::signal_base - signal_base(const signal_base& src) noexceptsigc::signal_base - signal_base(signal_base&& src)sigc::signal_base - size() const noexceptsigc::signal_base - size_type typedefsigc::signal_base - unblock() noexceptsigc::signal_base - ~signal_base()sigc::signal_base + impl() const sigc::signal_baseprotected + impl_sigc::signal_basemutableprotected + insert(iterator_type i, const slot_base& slot_)sigc::signal_baseprotected + insert(iterator_type i, slot_base&& slot_)sigc::signal_baseprotected + iterator_type typedefsigc::signal_baseprotected + operator=(const signal_base& src)sigc::signal_base + operator=(signal_base&& src)sigc::signal_base + signal_base() noexceptsigc::signal_base + signal_base(const signal_base& src) noexceptsigc::signal_base + signal_base(signal_base&& src)sigc::signal_base + size() const noexceptsigc::signal_base + size_type typedefsigc::signal_base + unblock() noexceptsigc::signal_base + ~signal_base()sigc::signal_base diff --git a/docs/reference/html/structsigc_1_1signal__base.html b/docs/reference/html/structsigc_1_1signal__base.html index e30d554..faaa46c 100644 --- a/docs/reference/html/structsigc_1_1signal__base.html +++ b/docs/reference/html/structsigc_1_1signal__base.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -126,9 +126,6 @@ Protected Member Functions iterator_type connect (slot_base&& slot_)  Adds a slot at the end of the list of slots. More...
      -iterator_type erase (iterator_type i) - Removes the slot at the given position from the list of slots. More...
    std::shared_ptr< internal::signal_impl > impl () const  Returns the signal_impl object encapsulating the list of slots. More...
      @@ -432,39 +429,6 @@ Protected Attributes - -
    -
    - - - - - -
    - - - - - - - - -
    iterator_type sigc::signal_base::erase (iterator_type i)
    -
    -protected
    -
    - -

    Removes the slot at the given position from the list of slots.

    -

    Note that this function does not work during signal emission!

    Parameters
    - - -
    iAn iterator pointing to the slot to be removed.
    -
    -
    -
    Returns
    An iterator pointing to the slot in the list after the one removed.
    - -
    -
    @@ -690,7 +654,7 @@ Protected Attributes
    diff --git a/docs/reference/html/structsigc_1_1trackable-members.html b/docs/reference/html/structsigc_1_1trackable-members.html index c140576..09a149e 100644 --- a/docs/reference/html/structsigc_1_1trackable-members.html +++ b/docs/reference/html/structsigc_1_1trackable-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -62,16 +62,16 @@ func_destroy_notify typedefsigc::trackable notify_callbacks()sigc::trackable operator=(const trackable& src)sigc::trackable - operator=(trackable&& src)sigc::trackable + operator=(trackable&& src) noexceptsigc::trackable remove_destroy_notify_callback(notifiable* data) const sigc::trackable trackable() noexceptsigc::trackable trackable(const trackable& src) noexceptsigc::trackable - trackable(trackable&& src)sigc::trackable + trackable(trackable&& src) noexceptsigc::trackable ~trackable()sigc::trackable
    diff --git a/docs/reference/html/structsigc_1_1trackable.html b/docs/reference/html/structsigc_1_1trackable.html index 7de5d40..1fd19a7 100644 --- a/docs/reference/html/structsigc_1_1trackable.html +++ b/docs/reference/html/structsigc_1_1trackable.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -86,8 +86,8 @@ Public Member Functions    trackable (const trackable& src) noexcept   - trackable (trackable&& src) -  + trackable (trackable&& src) noexcept +   ~trackable ()   void add_destroy_notify_callback (notifiable* data, func_destroy_notify func) const @@ -98,8 +98,8 @@ Public Member Functions   trackableoperator= (const trackable& src)   -trackableoperator= (trackable&& src) -  +trackableoperator= (trackable&& src) noexcept +  void remove_destroy_notify_callback (notifiable* data) const  Remove a callback previously installed with add_destroy_notify_callback(). More...
      @@ -171,9 +171,12 @@ Public Member Functions - +
    + + + + + +
    @@ -183,6 +186,11 @@ Public Member Functions
    sigc::trackable::trackable
    +
    +noexcept
    @@ -271,9 +279,12 @@ Public Member Functions
    - +
    + + + + + +
    @@ -283,6 +294,11 @@ Public Member Functions
    trackable& sigc::trackable::operator=
    +
    +noexcept
    @@ -314,7 +330,7 @@ Public Member Functions
    diff --git a/docs/reference/html/structsigc_1_1type__trait-members.html b/docs/reference/html/structsigc_1_1type__trait-members.html index 5147d41..680bd2f 100644 --- a/docs/reference/html/structsigc_1_1type__trait-members.html +++ b/docs/reference/html/structsigc_1_1type__trait-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -63,7 +63,7 @@ diff --git a/docs/reference/html/structsigc_1_1type__trait.html b/docs/reference/html/structsigc_1_1type__trait.html index 34a5f62..48da7c0 100644 --- a/docs/reference/html/structsigc_1_1type__trait.html +++ b/docs/reference/html/structsigc_1_1type__trait.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -100,7 +100,7 @@ template <typename T_type > diff --git a/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4-members.html b/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4-members.html index 8753f15..ce96a14 100644 --- a/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4-members.html +++ b/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -63,7 +63,7 @@ diff --git a/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4.html b/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4.html index 5accb8a..2597b48 100644 --- a/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4.html +++ b/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -100,7 +100,7 @@ template <typename T_type , int N> diff --git a/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4-members.html b/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4-members.html index a07cd10..37caa4e 100644 --- a/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4-members.html +++ b/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -63,7 +63,7 @@ diff --git a/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4.html b/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4.html index 894536a..b1a1bde 100644 --- a/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4.html +++ b/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -100,7 +100,7 @@ template <typename T_type > diff --git a/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4-members.html b/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4-members.html index 3cdd95d..f1855b3 100644 --- a/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4-members.html +++ b/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -63,7 +63,7 @@ diff --git a/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4.html b/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4.html index 0ef72d6..025b4db 100644 --- a/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4.html +++ b/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -100,7 +100,7 @@ template <typename T_type > diff --git a/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4-members.html b/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4-members.html index eb9f363..4da966e 100644 --- a/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4-members.html +++ b/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -63,7 +63,7 @@ diff --git a/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4.html b/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4.html index b41383d..1ebde99 100644 --- a/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4.html +++ b/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -96,7 +96,7 @@ Public Types diff --git a/docs/reference/html/structsigc_1_1unwrap__reference-members.html b/docs/reference/html/structsigc_1_1unwrap__reference-members.html index 58f9e73..eb97fdb 100644 --- a/docs/reference/html/structsigc_1_1unwrap__reference-members.html +++ b/docs/reference/html/structsigc_1_1unwrap__reference-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -62,7 +62,7 @@ diff --git a/docs/reference/html/structsigc_1_1unwrap__reference.html b/docs/reference/html/structsigc_1_1unwrap__reference.html index 0d7fbfa..ba7c3d9 100644 --- a/docs/reference/html/structsigc_1_1unwrap__reference.html +++ b/docs/reference/html/structsigc_1_1unwrap__reference.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -84,7 +84,7 @@ template <typename T_type > diff --git a/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01T__type_01_4_01_4-members.html b/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01T__type_01_4_01_4-members.html index 9c6840a..12a63ef 100644 --- a/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01T__type_01_4_01_4-members.html +++ b/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01T__type_01_4_01_4-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -62,7 +62,7 @@ diff --git a/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01T__type_01_4_01_4.html b/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01T__type_01_4_01_4.html index 305bbf4..f421978 100644 --- a/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01T__type_01_4_01_4.html +++ b/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01T__type_01_4_01_4.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -84,7 +84,7 @@ template <typename T_type > diff --git a/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01const_01T__type_01_4_01_4.html b/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01const_01T__type_01_4_01_4.html index 89c3e2c..57c214d 100644 --- a/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01const_01T__type_01_4_01_4.html +++ b/docs/reference/html/structsigc_1_1unwrap__reference_3_01std_1_1reference__wrapper_3_01const_01T__type_01_4_01_4.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -84,7 +84,7 @@ template <typename T_type > diff --git a/docs/reference/html/structsigc_1_1visitor-members.html b/docs/reference/html/structsigc_1_1visitor-members.html index 9024ff8..1eda5fb 100644 --- a/docs/reference/html/structsigc_1_1visitor-members.html +++ b/docs/reference/html/structsigc_1_1visitor-members.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -62,7 +62,7 @@ diff --git a/docs/reference/html/structsigc_1_1visitor.html b/docs/reference/html/structsigc_1_1visitor.html index 64b710b..d5d2b3d 100644 --- a/docs/reference/html/structsigc_1_1visitor.html +++ b/docs/reference/html/structsigc_1_1visitor.html @@ -19,7 +19,7 @@
    libsigc++ -  2.99.8 +  2.99.9
    @@ -143,7 +143,7 @@ template <typename T_action > diff --git a/docs/reference/libsigc++-3.0.devhelp2 b/docs/reference/libsigc++-3.0.devhelp2 index 6c20e2a..bb18924 100644 --- a/docs/reference/libsigc++-3.0.devhelp2 +++ b/docs/reference/libsigc++-3.0.devhelp2 @@ -398,7 +398,6 @@ - @@ -449,12 +448,12 @@ - + - + diff --git a/docs/reference/libsigc++-3.0.tag b/docs/reference/libsigc++-3.0.tag index d693d27..23f0876 100644 --- a/docs/reference/libsigc++-3.0.tag +++ b/docs/reference/libsigc++-3.0.tag @@ -4828,13 +4828,6 @@ (slot_base &&slot_) - iterator_type - erase - structsigc_1_1signal__base.html - a21efc57eea29c3139855909ad4807984 - (iterator_type i) - - std::shared_ptr< internal::signal_impl > impl structsigc_1_1signal__base.html @@ -5204,8 +5197,8 @@ trackable structsigc_1_1trackable.html - aba42ed8afb6598106cf68c18a7387f18 - (trackable &&src) + a9a6ff5a4d7c51cede2117525f470f96a + (trackable &&src) noexcept @@ -5239,8 +5232,8 @@ trackable & operator= structsigc_1_1trackable.html - ac3d61cdb452dc46fcdc8a8d42d9c079d - (trackable &&src) + a400b5799372238211a4437844d923a4e + (trackable &&src) noexcept void diff --git a/sigc++/adaptors/track_obj.h b/sigc++/adaptors/track_obj.h index 9256011..4419ffb 100644 --- a/sigc++/adaptors/track_obj.h +++ b/sigc++/adaptors/track_obj.h @@ -75,7 +75,7 @@ public: * @param func Functor. * @param obj Trackable objects. */ - track_obj_functor(const T_functor& func, const T_obj&... obj) + explicit track_obj_functor(const T_functor& func, const T_obj&... obj) : adapts(func), obj_(obj...) { } diff --git a/sigc++/connection.h b/sigc++/connection.h index 7847810..4b4926e 100644 --- a/sigc++/connection.h +++ b/sigc++/connection.h @@ -43,12 +43,12 @@ struct SIGC_API connection connection(const connection& c); /** Constructs a connection object from a slot object. - * @param sl The slot to operate on. + * @param slot The slot to operate on. */ explicit connection(slot_base& slot); /** Overrides this connection object copying another one. - * @param c The connection object to make a copy from. + * @param src The connection object to make a copy from. */ connection& operator=(const connection& src); @@ -92,8 +92,8 @@ struct SIGC_API connection private: void set_slot(const sigc::internal::weak_raw_ptr& sl); - /* Referred slot. Set to zero from notify(). - * A value of zero indicates an "empty" connection. + /* Referred slot. Set to nullptr when the referred slot is deleted. + * A value of nullptr indicates an "empty" connection. */ sigc::internal::weak_raw_ptr slot_; }; diff --git a/sigc++/functors/slot_base.cc b/sigc++/functors/slot_base.cc index 1281fb9..4c521a8 100644 --- a/sigc++/functors/slot_base.cc +++ b/sigc++/functors/slot_base.cc @@ -137,8 +137,7 @@ slot_base::slot_base(slot_base&& src) : rep_(nullptr), blocked_(src.blocked_) slot_base::~slot_base() { - if (rep_) - delete rep_; + delete rep_; } slot_base::operator bool() const noexcept diff --git a/sigc++/signal.h b/sigc++/signal.h index c666617..3403e57 100644 --- a/sigc++/signal.h +++ b/sigc++/signal.h @@ -359,8 +359,8 @@ private: public: - /** Executes a list of slots using an accumulator of type @e T_accumulator. * The arguments are - * passed directly on to the slots. + /** Executes a list of slots using an accumulator of type @e T_accumulator. + * The arguments are passed directly on to the slots. * @param a Arguments to be passed on to the slots. */ static decltype(auto) emit(const std::shared_ptr& impl, type_trait_take_t... a) @@ -398,7 +398,8 @@ public: * * The following template arguments are used: * - @e T_return The desired return type for the emit() function (may be overridden by the - * accumulator). * - @e T_arg Argument types used in the definition of emit(). + * accumulator). + * - @e T_arg Argument types used in the definition of emit(). * - @e T_accumulator The accumulator type used for emission. The default * @p void means that no accumulator should be used, for example if signal * emission returns the return value of the last slot invoked. diff --git a/sigc++/signal_base.cc b/sigc++/signal_base.cc index 2038568..67f493e 100644 --- a/sigc++/signal_base.cc +++ b/sigc++/signal_base.cc @@ -24,7 +24,8 @@ namespace internal { // Data sent from signal_impl::insert() to slot_rep::set_parent() when a slot is -// connected, and then sent from slot_rep::disconnect() to signal_impl::notify() +// connected, and then sent from slot_rep::disconnect() to +// signal_impl::notify_self_and_iter_of_invalidated_slot() // when the slot is disconnected. Bug 167714. struct self_and_iter : public notifiable { @@ -63,22 +64,30 @@ signal_impl::operator delete(void* p) void signal_impl::clear() { - // Don't let signal_impl::notify() erase the slots. It would invalidate the - // iterator in the following loop. + // Don't let signal_impl::notify_self_and_iter_of_invalidated_slot() erase the slots. + // It would invalidate the iterator in the following loop. // Don't call shared_from_this() here. clear() is called from the destructor. // When the destructor is executing, shared_ptr's use_count has reached 0, // and it's no longer possible to get a shared_ptr to this. + const bool during_signal_emission = exec_count_ > 0; const bool saved_deferred = deferred_; signal_impl_exec_holder exec(this); // Disconnect all connected slots before they are deleted. - // signal_impl::notify() will be called and delete the self_and_iter structs. + // signal_impl::notify_self_and_iter_of_invalidated_slot() will be called and + // delete the self_and_iter structs. for (auto& slot : slots_) slot.disconnect(); - deferred_ = saved_deferred; - - slots_.clear(); + // Don't clear slots_ during signal emission. Provided deferred_ is true, + // sweep() will be called from ~signal_impl_holder() after signal emission, + // and it will erase all disconnected slots. + // https://bugzilla.gnome.org/show_bug.cgi?id=784550 + if (!during_signal_emission) + { + deferred_ = saved_deferred; + slots_.clear(); + } } signal_impl::size_type @@ -119,23 +128,6 @@ signal_impl::connect(slot_base&& slot_) return insert(slots_.end(), std::move(slot_)); } -signal_impl::iterator_type -signal_impl::erase(iterator_type i) -{ - // Don't let signal_impl::notify() erase the slot. It would be more - // difficult to get the correct return value from signal_impl::erase(). - const bool saved_deferred = deferred_; - signal_impl_holder exec(shared_from_this()); - - // Disconnect the slot before it is deleted. - // signal_impl::notify() will be called and delete the self_and_iter struct. - i->disconnect(); - - deferred_ = saved_deferred; - - return slots_.erase(i); -} - void signal_impl::add_notification_to_iter(const signal_impl::iterator_type& iter) { @@ -205,7 +197,7 @@ signal_impl::notify_self_and_iter_of_invalidated_slot(notifiable* d) // This is occurring during signal emission or slot erasure. // => sweep() will be called from ~signal_impl_holder() after signal emission. // This is safer because we don't have to care about our - // iterators in emit(), clear(), and erase(). + // iterators in emit() and clear(). self->deferred_ = true; } } @@ -286,12 +278,6 @@ signal_base::insert(iterator_type i, slot_base&& slot_) return impl()->insert(i, std::move(slot_)); } -signal_base::iterator_type -signal_base::erase(iterator_type i) -{ - return impl()->erase(i); -} - signal_base& signal_base::operator=(const signal_base& src) { diff --git a/sigc++/signal_base.h b/sigc++/signal_base.h index bcff3aa..3bbcd4f 100644 --- a/sigc++/signal_base.h +++ b/sigc++/signal_base.h @@ -36,11 +36,11 @@ namespace internal { /** Implementation of the signal interface. - * signal_impl manages a list of slots. When a slot becomes - * invalid (because some referred object dies), notify() is executed. - * notify() either calls slots_.erase() directly or defers the execution of - * erase() to sweep() when the signal is being emitted. sweep() removes all - * invalid slots from the list. + * signal_impl manages a list of slots. When a slot becomes invalid (because some + * referred object dies), notify_self_and_iter_of_invalidated_slot() is executed. + * notify_self_and_iter_of_invalidated_slot() either calls slots_.erase() directly + * or defers the execution of erase() to sweep() when the signal is being emitted. + * sweep() removes all invalid slots from the list. */ struct SIGC_API signal_impl : public std::enable_shared_from_this @@ -143,12 +143,6 @@ struct SIGC_API signal_impl */ iterator_type insert(iterator_type i, slot_base&& slot_); - /** Removes the slot at the given position from the list of slots. - * @param i An iterator pointing to the slot to be removed. - * @return An iterator pointing to the slot in the list after the one removed. - */ - iterator_type erase(iterator_type i); - /// Removes invalid slots from the list of slots. void sweep(); @@ -184,7 +178,7 @@ struct SIGC_API signal_impl_exec_holder /** Increments the execution counter of the parent sigc::signal_impl object. * @param sig The parent sigc::signal_impl object. */ - inline signal_impl_exec_holder(signal_impl* sig) noexcept + inline explicit signal_impl_exec_holder(signal_impl* sig) noexcept : sig_(sig) { sig_->reference_exec(); @@ -382,13 +376,6 @@ protected: */ iterator_type insert(iterator_type i, slot_base&& slot_); - /** Removes the slot at the given position from the list of slots. - * Note that this function does not work during signal emission! - * @param i An iterator pointing to the slot to be removed. - * @return An iterator pointing to the slot in the list after the one removed. - */ - iterator_type erase(iterator_type i); - /** Returns the signal_impl object encapsulating the list of slots. * @return The signal_impl object encapsulating the list of slots. */ diff --git a/sigc++/trackable.cc b/sigc++/trackable.cc index 5bb4207..fdff747 100644 --- a/sigc++/trackable.cc +++ b/sigc++/trackable.cc @@ -38,7 +38,8 @@ trackable::trackable(const trackable& /*src*/) noexcept : callback_list_(nullptr // // If trackable's move constructor is modified, check if Glib::Object's // move constructor should be modified similarly. -trackable::trackable(trackable&& src) : callback_list_(nullptr) +trackable::trackable(trackable&& src) noexcept +: callback_list_(nullptr) { src.notify_callbacks(); } @@ -53,7 +54,7 @@ trackable::operator=(const trackable& src) } trackable& -trackable::operator=(trackable&& src) +trackable::operator=(trackable&& src) noexcept { if (this != &src) { @@ -83,9 +84,7 @@ trackable::remove_destroy_notify_callback(notifiable* data) const void trackable::notify_callbacks() { - if (callback_list_) - delete callback_list_; // This invokes all of the callbacks. - + delete callback_list_; // This invokes all of the callbacks. callback_list_ = nullptr; } @@ -120,7 +119,7 @@ trackable_callback_list::add_callback(notifiable* data, func_destroy_notify func // I'd consider this a serious application bug, since the app is likely to segfault. // But then, how should we handle it? Throw an exception? Martin. if (!clearing_) - callbacks_.push_back(trackable_callback(data, func)); + callbacks_.emplace_back(trackable_callback(data, func)); } void diff --git a/sigc++/trackable.h b/sigc++/trackable.h index a6a7829..d26ba61 100644 --- a/sigc++/trackable.h +++ b/sigc++/trackable.h @@ -125,11 +125,11 @@ struct SIGC_API trackable : public notifiable trackable(const trackable& src) noexcept; - trackable(trackable&& src); + trackable(trackable&& src) noexcept; trackable& operator=(const trackable& src); - trackable& operator=(trackable&& src); + trackable& operator=(trackable&& src) noexcept; ~trackable(); diff --git a/sigc++/weak_raw_ptr.h b/sigc++/weak_raw_ptr.h index 7d67dbc..ccae1b0 100644 --- a/sigc++/weak_raw_ptr.h +++ b/sigc++/weak_raw_ptr.h @@ -92,7 +92,7 @@ private: */ static void notify_object_invalidated(notifiable* data) { - weak_raw_ptr* self = static_cast(data); + auto self = static_cast(data); if(!self) return; diff --git a/tests/test_accum_iter.cc b/tests/test_accum_iter.cc index a4fe697..948974c 100644 --- a/tests/test_accum_iter.cc +++ b/tests/test_accum_iter.cc @@ -4,10 +4,7 @@ #include "testutilities.h" #include -#include #include -#include -#include namespace { diff --git a/tests/test_accumulated.cc b/tests/test_accumulated.cc index bdc3301..0a303b9 100644 --- a/tests/test_accumulated.cc +++ b/tests/test_accumulated.cc @@ -5,12 +5,8 @@ #include "testutilities.h" #include #include -#include -#include -#include #include #include -#include namespace { diff --git a/tests/test_bind.cc b/tests/test_bind.cc index 949d052..7d4a354 100644 --- a/tests/test_bind.cc +++ b/tests/test_bind.cc @@ -5,10 +5,6 @@ #include "testutilities.h" #include #include -#include -#include -#include //For std::ref(). -#include namespace { @@ -22,7 +18,7 @@ struct foo int operator()(int i) { result_stream << "foo(int " << i << ") "; - return i > 0; + return static_cast(i > 0); } int operator()(int i, int j) diff --git a/tests/test_bind_as_slot.cc b/tests/test_bind_as_slot.cc index d65e357..4164fd9 100644 --- a/tests/test_bind_as_slot.cc +++ b/tests/test_bind_as_slot.cc @@ -5,10 +5,6 @@ #include "testutilities.h" #include #include -#include -#include -#include //For std::ref(). -#include namespace { diff --git a/tests/test_bind_ref.cc b/tests/test_bind_ref.cc index fd1fb4e..33c0b9d 100644 --- a/tests/test_bind_ref.cc +++ b/tests/test_bind_ref.cc @@ -4,10 +4,6 @@ #include "testutilities.h" #include -#include -#include -#include //For std::ref(). -#include namespace { diff --git a/tests/test_bind_refptr.cc b/tests/test_bind_refptr.cc index 8bc59b8..6840462 100644 --- a/tests/test_bind_refptr.cc +++ b/tests/test_bind_refptr.cc @@ -24,8 +24,6 @@ #include "testutilities.h" #include -#include -#include #define ACTIVATE_BUG 1 diff --git a/tests/test_bind_return.cc b/tests/test_bind_return.cc index bb224bc..a6dead3 100644 --- a/tests/test_bind_return.cc +++ b/tests/test_bind_return.cc @@ -5,10 +5,6 @@ #include "testutilities.h" #include #include -#include -#include -#include //For std::ref(). -#include namespace { diff --git a/tests/test_compose.cc b/tests/test_compose.cc index 1913a58..f7f12e5 100644 --- a/tests/test_compose.cc +++ b/tests/test_compose.cc @@ -4,8 +4,6 @@ #include "testutilities.h" #include -#include -#include namespace { @@ -63,7 +61,7 @@ struct get double operator()() { result_stream << "get() "; - return true; + return static_cast(true); } double operator()(int i) diff --git a/tests/test_copy_invalid_slot.cc b/tests/test_copy_invalid_slot.cc index 307445b..6b85f60 100644 --- a/tests/test_copy_invalid_slot.cc +++ b/tests/test_copy_invalid_slot.cc @@ -3,12 +3,8 @@ */ #include "testutilities.h" -#include -#include #include -#include -#include -#include //For std::ref(). +#include namespace { diff --git a/tests/test_cpp11_lambda.cc b/tests/test_cpp11_lambda.cc index da92f24..14bee3c 100644 --- a/tests/test_cpp11_lambda.cc +++ b/tests/test_cpp11_lambda.cc @@ -43,11 +43,8 @@ // If test_cpp11_lambda writes nothing and the return code is 0, the test has passed. #include "testutilities.h" -#include #include -#include #include -#include #include #include #include diff --git a/tests/test_custom.cc b/tests/test_custom.cc index 48002ff..50e4df1 100644 --- a/tests/test_custom.cc +++ b/tests/test_custom.cc @@ -7,8 +7,6 @@ // currently hacking. #include "testutilities.h" -#include -#include #include namespace diff --git a/tests/test_disconnect.cc b/tests/test_disconnect.cc index 7754663..4cbf3c9 100644 --- a/tests/test_disconnect.cc +++ b/tests/test_disconnect.cc @@ -5,16 +5,10 @@ #include "testutilities.h" #include #include -#include #include -#include -#include -#include -#include // The Tru64 compiler seems to need this to avoid an unresolved symbol // See bug #161503 -#include namespace { diff --git a/tests/test_exception_catch.cc b/tests/test_exception_catch.cc index b9d1056..1a1b0be 100644 --- a/tests/test_exception_catch.cc +++ b/tests/test_exception_catch.cc @@ -4,9 +4,6 @@ #include "testutilities.h" #include -#include -#include -#include namespace { diff --git a/tests/test_hide.cc b/tests/test_hide.cc index 20284df..2a2ec21 100644 --- a/tests/test_hide.cc +++ b/tests/test_hide.cc @@ -4,8 +4,6 @@ #include "testutilities.h" #include -#include -#include namespace { diff --git a/tests/test_limit_reference.cc b/tests/test_limit_reference.cc index 5031263..70caae8 100644 --- a/tests/test_limit_reference.cc +++ b/tests/test_limit_reference.cc @@ -4,9 +4,6 @@ #include "testutilities.h" #include -#include -#include //For std::ref(). -#include namespace { diff --git a/tests/test_mem_fun.cc b/tests/test_mem_fun.cc index 50408d6..202511f 100644 --- a/tests/test_mem_fun.cc +++ b/tests/test_mem_fun.cc @@ -4,8 +4,6 @@ #include "testutilities.h" #include -#include -#include // TODO: put something like #ifndef FORTE (some older version, I think) or AIX xlC... #else ... // #endif around: diff --git a/tests/test_ptr_fun.cc b/tests/test_ptr_fun.cc index 7cbd8f4..e1e7ba1 100644 --- a/tests/test_ptr_fun.cc +++ b/tests/test_ptr_fun.cc @@ -3,9 +3,7 @@ */ #include "testutilities.h" -#include #include -#include // TODO: put something like #ifndef FORTE ... #else ... #endif around: #define ENABLE_TEST_OF_OVERLOADED_FUNCTIONS 0 diff --git a/tests/test_retype.cc b/tests/test_retype.cc index 3fc7f0d..7376bf8 100644 --- a/tests/test_retype.cc +++ b/tests/test_retype.cc @@ -4,8 +4,6 @@ #include "testutilities.h" #include -#include -#include namespace { diff --git a/tests/test_retype_return.cc b/tests/test_retype_return.cc index 4d0ba03..34c0325 100644 --- a/tests/test_retype_return.cc +++ b/tests/test_retype_return.cc @@ -5,8 +5,6 @@ #include "testutilities.h" #include #include -#include -#include namespace { diff --git a/tests/test_signal.cc b/tests/test_signal.cc index 0f72199..4ea7c11 100644 --- a/tests/test_signal.cc +++ b/tests/test_signal.cc @@ -5,10 +5,6 @@ #include "testutilities.h" #include #include -#include -#include -#include -#include namespace { @@ -116,6 +112,35 @@ test_make_slot() util->check_result(result_stream, "foo(int 3) bar(float 3) foo(int 3) "); } +void +test_clear_called_in_signal_handler() +{ + sigc::signal sig; + sig.connect([]() { result_stream << ", slot 1, "; }); + sig.connect([&sig]() { sig.clear(); result_stream << "slot 2, "; }); + sig.connect([]() { result_stream << "slot 3, "; }); + result_stream << sig.size(); + sig.emit(); + result_stream << sig.size(); + sig.emit(); + util->check_result(result_stream, "3, slot 1, slot 2, 0"); +} + +void +test_clear_called_outside_signal_handler() +{ + sigc::signal sig; + sig.connect([]() { result_stream << ", slot 1, "; }); + sig.connect([]() { result_stream << "slot 2, "; }); + sig.connect([]() { result_stream << "slot 3, "; }); + result_stream << sig.size(); + sig.emit(); + sig.clear(); + result_stream << sig.size(); + sig.emit(); + util->check_result(result_stream, "3, slot 1, slot 2, slot 3, 0"); +} + } // end anonymous namespace int @@ -131,6 +156,8 @@ main(int argc, char* argv[]) test_auto_disconnection(); test_reference(); test_make_slot(); + test_clear_called_in_signal_handler(); + test_clear_called_outside_signal_handler(); return util->get_result_and_delete_instance() ? EXIT_SUCCESS : EXIT_FAILURE; } diff --git a/tests/test_signal_move.cc b/tests/test_signal_move.cc index a8c3916..83a6316 100644 --- a/tests/test_signal_move.cc +++ b/tests/test_signal_move.cc @@ -5,10 +5,6 @@ #include "testutilities.h" #include #include -#include -#include -#include -#include namespace { @@ -39,14 +35,14 @@ main(int argc, char* argv[]) // Test the move constructor: sigc::signal sig2(std::move(sig)); - sig(-2); + sig(-2); // Test that the moved-from slot does nothing. sig2(2); util->check_result(result_stream, "foo(int 2)"); // Test the move assignment operator: sigc::signal sig3; sig3 = std::move(sig2); - sig2(-3); + sig2(-3); // Test that the moved-from slot does nothing. sig3(3); util->check_result(result_stream, "foo(int 3)"); diff --git a/tests/test_size.cc b/tests/test_size.cc index 9e116fd..cf94a8b 100644 --- a/tests/test_size.cc +++ b/tests/test_size.cc @@ -5,7 +5,6 @@ #include "testutilities.h" #include #include -#include // The correct result of this test may be implementation-dependent. // No attempt is made to decide if the result is correct. @@ -16,7 +15,7 @@ namespace { struct A { - void foo(); + void foo() {} }; } // end anonymous namespace diff --git a/tests/test_slot.cc b/tests/test_slot.cc index c6f417e..7fd68bd 100644 --- a/tests/test_slot.cc +++ b/tests/test_slot.cc @@ -4,13 +4,9 @@ #include "testutilities.h" #include -#include -#include -#include // The Tru64 compiler seems to need this to avoid an unresolved symbol // See bug #161503 -#include namespace { diff --git a/tests/test_slot_disconnect.cc b/tests/test_slot_disconnect.cc index 6eb464f..e14cf99 100644 --- a/tests/test_slot_disconnect.cc +++ b/tests/test_slot_disconnect.cc @@ -4,9 +4,6 @@ #include "testutilities.h" #include -#include -#include -#include namespace { diff --git a/tests/test_slot_move.cc b/tests/test_slot_move.cc index c9c7210..d207172 100644 --- a/tests/test_slot_move.cc +++ b/tests/test_slot_move.cc @@ -4,13 +4,9 @@ #include "testutilities.h" #include -#include -#include -#include // The Tru64 compiler seems to need this to avoid an unresolved symbol // See bug #161503 -#include namespace { @@ -47,14 +43,14 @@ main(int argc, char* argv[]) // test move constructor: sigc::slot s2(std::move(s1)); - s1(-2); + s1(-2); // Test that the moved-from slot does nothing. s2(2); util->check_result(result_stream, "foo(int 2)"); // test move assignment: sigc::slot s3; s3 = std::move(s2); - s2(-3); + s2(-3); // Test that the moved-from slot does nothing. s3(3); util->check_result(result_stream, "foo(int 3)"); diff --git a/tests/test_track_obj.cc b/tests/test_track_obj.cc index 2d29f4b..1c93b69 100644 --- a/tests/test_track_obj.cc +++ b/tests/test_track_obj.cc @@ -34,10 +34,7 @@ // If test_track_obj writes nothing and the return code is 0, the test has passed. #include "testutilities.h" -#include #include -#include -#include #include #include @@ -137,8 +134,8 @@ main(int argc, char* argv[]) // Allocate on the heap. valgrind can then find erroneous memory accesses. // (There should be none, of course.) auto psl2 = new sigc::slot; - bar_group4* pbar4 = new bar_group4; - book* pbook4 = new book("A Book"); + auto pbar4 = new bar_group4; + auto pbook4 = new book("A Book"); *psl2 = sigc::track_obj(Functor2(*pbar4, *pbook4), *pbar4, *pbook4); result_stream << (*psl2)(0, "Book title: "); util->check_result(result_stream, "zero, Book title: A Book"); diff --git a/tests/test_trackable.cc b/tests/test_trackable.cc index 83a1861..bd48fe6 100644 --- a/tests/test_trackable.cc +++ b/tests/test_trackable.cc @@ -3,11 +3,8 @@ */ #include "testutilities.h" -#include -#include #include #include -#include namespace { @@ -16,7 +13,7 @@ std::ostringstream result_stream; class my_class : public sigc::trackable { public: - int i; + int i = 0; void foo() { result_stream << i; } }; diff --git a/tests/test_trackable_move.cc b/tests/test_trackable_move.cc index add3028..daf80ce 100644 --- a/tests/test_trackable_move.cc +++ b/tests/test_trackable_move.cc @@ -3,11 +3,8 @@ */ #include "testutilities.h" -#include -#include #include #include -#include namespace { @@ -21,13 +18,16 @@ public: my_class(const my_class& src) = delete; my_class& operator=(const my_class& src) = delete; - my_class(my_class&& src) : sigc::trackable(std::move(src)), i(std::move(src.i)) { src.i = 0; } + my_class(my_class&& src) noexcept + : sigc::trackable(std::move(src)), i(std::move(src.i)) { + src.i = 0; + } - my_class& operator=(my_class&& src) + my_class& operator=(my_class&& src) noexcept { sigc::trackable::operator=(std::move(src)); i = std::move(src.i); - src.i = 0; + src.i = 0; // Make the moved-from object zeroed. Undefined behaviour would be acceptable too. return *this; } diff --git a/tests/test_tuple_cdr.cc b/tests/test_tuple_cdr.cc index e6355bf..cea800a 100644 --- a/tests/test_tuple_cdr.cc +++ b/tests/test_tuple_cdr.cc @@ -17,7 +17,6 @@ #include #include #include -#include #include void diff --git a/tests/test_tuple_for_each.cc b/tests/test_tuple_for_each.cc index 4a1f3f4..ed31617 100644 --- a/tests/test_tuple_for_each.cc +++ b/tests/test_tuple_for_each.cc @@ -17,8 +17,6 @@ #include #include #include -#include -//#include #include #include diff --git a/tests/test_tuple_transform_each.cc b/tests/test_tuple_transform_each.cc index 247cbd7..373ee77 100644 --- a/tests/test_tuple_transform_each.cc +++ b/tests/test_tuple_transform_each.cc @@ -253,7 +253,7 @@ template <> class transform_as_constexpr_to_something { public: - constexpr static char transform(int from) { return 'a' + from; } + constexpr static char transform(int from) { return 'a' + static_cast(from); } }; // A double will be converted to an int: diff --git a/tests/test_visit_each.cc b/tests/test_visit_each.cc index 0d081d1..2c74898 100644 --- a/tests/test_visit_each.cc +++ b/tests/test_visit_each.cc @@ -17,10 +17,7 @@ */ #include "testutilities.h" -#include #include -#include -#include #include #include -- 2.7.4