2016-04-27 Murray Cumming 2.99.6 2016-04-27 Murray Cumming copy operations: Name all parameters src. To make it more obvious that these are copy operations. 2016-04-24 Murray Cumming signal_impl_holder: Split into this and signal_exec_holder. And use just signal_exec_holder in signal_impl::clear(), instead of trying to take create a shared_ptr to this while this is being destroyed. Bug #764935 2016-04-24 Murray Cumming signal_exec: Rename to signal_exec_holder. Because that's what it does. It doesn't execute anything. 2016-04-23 Murray Cumming signal_impl: Trying to do the ref-counting with std::shared_ptr. Bug #764935 2016-04-22 Marcin Kolny slot: use pointer for functor_ member Using pointer instead of value allows us to avoid calling destructor of functor_ directly in destroy() 2016-04-22 Murray Cumming test_disconnect: Add comment to explain potential leak. Because clang-tidy incorrectly (but understandably) complains about this. 2016-04-22 Murray Cumming tests: Make single argument constructors explicit. Found by the google-explicit-constructor clang-tidy check. 2016-04-22 Murray Cumming limit_refernce: =default copy/move operations. Because we really use at least the default copy constructor, so this makes that clearer. 2016-04-22 Murray Cumming limit_reference: Make constructor explicit. 2016-04-22 Murray Cumming Connection: Constructor: Take slot_base as reference. This constructor existed before, so this avoids an API break. 2016-04-21 Murray Cumming signal_emit: Make constructor explicit. 2016-04-21 Murray Cumming temp_slot_list: Make constructor explicit. 2016-04-21 Murray Cumming typed_slot_rep: Make constructor explicit. 2016-04-21 Murray Cumming test_size: Add comments with the results, so we can notice changes. 2016-04-21 Murray Cumming slot_rep: Rename notify() for clarity. 2016-04-21 Murray Cumming signal_impl: Rename notify_self_and_iter_invalidated(). To notify_self_and_iter_of_invalidated_slot(), to make it clear both what is being notified, and what is being invalidated. 2016-04-21 Murray Cumming test_accum_iter: Use of decltype(auto). 2016-04-21 Murray Cumming Use temp_slot_list as const. 2016-04-21 Murray Cumming Fixed missing newline in doxygen comment. 2016-04-21 Murray Cumming signal_emit: Make a_ private. 2016-04-21 Murray Cumming signal_emit: Remove some public type aliases. 2016-04-21 Murray Cumming connection: Rename notify() for clarity. 2016-04-21 Murray Cumming connection: Make notify() private. 2016-04-21 Murray Cumming connection: Take the slot_base directly, without the intermediate slot_iterator. 2016-04-21 Murray Cumming signal::connect(): Return a sigc::connection. Instead of an iterator aliases to a signal<>::connection. 2016-04-21 Murray Cumming slot_list: Remove this now-unused class. 2016-04-21 Murray Cumming Remove unused const_*_iterator. And the unused slot_list methods that use it. 2016-04-21 Murray Cumming signal: Remove public emitter_type alias. 2016-04-21 Murray Cumming signal: Rename iterator to connection. It is still actually an iterator, but we can change that later. 2016-04-21 Murray Cumming Remove now-unused slot_reverse_iterator_buf. 2016-04-21 Murray Cumming signal: Remove slots(). Because it does not seem useful. Also remove the unused extra iterator types and the const slot(). 2016-04-21 Murray Cumming signal: Remove emit_reverse(). It is not used in any tests or examples. Let's see if anybody actually uses it. 2016-04-21 Murray Cumming signal: connect(), insert(): Remove unnecessary static_cast<>s. 2016-04-21 Murray Cumming signal_base::insert(): Add and use help method to avoid copy/pasting. 2016-04-21 Murray Cumming signal_base: Rename notify() to notify_self_and_iter(). To make it clearer that this is only ever called for self_and_iter. 2016-04-21 Murray Cumming signal_base: Make notify() private. 2016-04-21 Murray Cumming signal_impl::insert(): Rename a variable for clarity. 2016-04-21 Murray Cumming slot_rep: Add and use unset_parent(). Because that is slightly clearer. 2016-04-20 Murray Cumming Update tests/.gitignore 2016-04-20 Murray Cumming benchmark: Use boost::timer instead of Glib::Timer. And optionally build it, when --enable-benchmark is passed to configure. 2016-04-20 Murray Cumming benchmark: Use the newer syntax. 2016-04-20 Murray Cumming benchmark: Increase count. 2016-04-20 Murray Cumming benchmark: Make the 1000 a constant, so we can change it. 2016-04-20 Murray Cumming benchmark: Rearrange. 2016-04-20 Murray Cumming benchmark: Add copyright header. 2016-04-20 Murray Cumming benchmark: Update for the newer libsigc++ API. 2016-04-20 Murray Cumming Add original benchmark code. From 2003 here: https://mail.gnome.org/archives/libsigc-list/2003-October/msg00005.html 2016-04-20 Murray Cumming Correct some doxygen comments for variadic parameters. These showed up as errors in doxygen.log. 2016-04-20 Murray Cumming Correct a doxygen comment. 2016-04-20 Murray Cumming Remove another unecessary c++ marker comment. 2016-04-20 Murray Cumming Added missing copyright headers. These files might be older than 2003, but that's all I see in our git respository (imported from the old svn repository, which probably lost some history once). 2016-04-20 Murray Cumming tests: Move copyright headers to top. 2016-04-20 Murray Cumming Remove unnecessary -*- c++ - *-* comments. 2016-04-20 Murray Cumming tests: Add missing copyright headers. 2016-04-20 Murray Cumming Update copyright years. 2016-04-19 Murray Cumming tuple_transform_each: Don't use typename for a template template parameter. 2016-04-19 Murray Cumming Revert "concepts: bind: Use the origin::Copy_constructible C++ concept." This reverts commit 66cee4dd3c0595ee62b446afafb5bbbfdcd36eca. I didn't mean to push this to master. 2016-04-19 Murray Cumming signal: Rename list_ to sig_impl_. Because that's what it is. And avoid the need for a __ prefix on the input parameter. 2016-04-19 Murray Cumming signal: Remove __ prefix on tmp variables. Leading underscores are reserved in C++. 2016-04-19 Murray Cumming Remove _A_ prefixes from method arguments. Leading underscores are reserved in C++, and the A is just odd. 2016-04-19 Murray Cumming Header guards: Remove leading underscores (and trailing underscores). Names with leading underscores are reserved in C++. 2016-04-19 Murray Cumming Use typename instead of class for all template parameters. Apart from template template parameters, which must still be class according to the C++14 standard: http://stackoverflow.com/a/11311432/1123654 though g++ and clang++ actually already supporting using typename instead by implementing N4051: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4051.html 2016-04-19 Murray Cumming Revert "Always use typename rather than class for template types." This reverts commit 180353986d101e367c26b3199c44c7b2e4c1e681. Because I misread https://stackoverflow.com/questions/213121/use-class-or-typename-for-template-parameters class is _still_ needed for template template parameters in C++14, though g++ and clang++ seem to support it anyway. 2016-04-19 Murray Cumming Always use typename rather than class for template types. For consistency. As of C++14 class is not necessary even for template template parameters. We can change those few uses back to class if any (otherwise compliant-enough) compiler actually needs it. See http://stackoverflow.com/a/11311432/1123654 2016-04-18 Murray Cumming concepts: bind: Use the origin::Copy_constructible C++ concept. 2016-04-16 Murray Cumming Minor uses of auto. 2016-04-16 Murray Cumming Replace some reinterpret_cast<>s with static_casts<>. This is particularly unnecessary now that we have the notifiable base class. 2016-04-15 Murray Cumming limit_trackable_target: =delete copy/move operations. 2016-04-15 Murray Cumming Correct some comments. 2016-04-15 Murray Cumming visit_each: Prototype trackable as struct, not class. clang++ rightly complains that it cannot be both a struct and a class. 2016-04-15 Murray Cumming self_and_iter: Take the iterator by const ref and store it as const. This is less generically useful, but this isn't a generally used class. 2016-04-15 Murray Cumming test_visit_each_type: Rename to test_visit_each_trackable. 2016-04-15 Murray Cumming Update comment. 2016-04-15 Murray Cumming limit_derived_target: Rename to limit_trackable_target<>. Because that is now how we always use it, and this makes things clearer by being less generic. 2016-04-15 Murray Cumming Rename visit_each_type() to visit_each_trackable(). Because that is how we always use it. Making it more generic obscures how it works and what it is for. We can revert, and improve this, if we ever need to handle more than one way to make a functor's arguments trackable. 2016-04-15 Murray Cumming limit_derived_target(): Remove the specialization for pointer types. Now we always call visit_each_type() with trackable, not sometimes trackable*. 2016-04-15 Murray Cumming Remove now-irrelevant comment. 2016-04-15 Murray Cumming visit_each_type: More comments. 2016-04-15 Murray Cumming Add a comment. 2016-04-15 Murray Cumming signal_emit: Make call_type private and remove iterator_type. 2016-04-15 Murray Cumming visit_each_type(): Add comment about how it is used. 2016-04-15 Murray Cumming test_functor_trait: Rename to test_visit_each_type. 2016-04-15 Murray Cumming Remove now-irrelevant comments. 2016-04-15 Murray Cumming test_functor_trait: Rearange to make tests self-contained. I guess this should really be called test_visit_each_type. 2016-04-15 Murray Cumming visit_each_type(): Remove unnecessary intermediate alias. 2016-04-15 Murray Cumming Remove now-irrelevant comment. 2016-04-15 Murray Cumming limit_derived_target: Add some comments. 2016-04-15 Murray Cumming limit_derived_type: Move with_type and with_type_pointer into class. As private inner classes. This makes it clearer that they are only used there. 2016-04-15 Murray Cumming with_type/with_type_pointer: Use is_base_of_or_same_v<> in declaration. Instead of in the instantiation. This makes the relationship between the two template types, and their specialiations, slightly clearer. 2016-04-15 Murray Cumming slot_rep::notify(): Rearrange a comment. 2016-04-15 Murray Cumming signal_exec: =delete copy and move operations. 2016-04-15 Murray Cumming slot_rep: Make =deleted operations public. It doesn't really make sense for these to be private.