1 2017-08-07 Murray Cumming <murrayc@murrayc.com>
5 2017-07-21 Murray Cumming <murrayc@murrayc.com>
7 Tests: Add comments by uses after move.
9 Because we really do want to test this.
10 We do not explicitly promise that it's safe to use moved-from libsigc++
11 objects, but we choose to make it safe.
13 2017-07-21 Murray Cumming <murrayc@murrayc.com>
15 signal_impl_exec_holder: Make a constructor explicit.
17 Because it has only one parameter.
18 Noticed by clang-tidy.
20 2017-07-21 Murray Cumming <murrayc@murrayc.com>
22 trackable: Use emplace_back() instead of push_back().
26 2017-07-21 Murray Cumming <murrayc@murrayc.com>
28 slot_base: Destructor: No need for null check before delete.
32 2017-07-21 Murray Cumming <murrayc@murrayc.com>
34 signal.h: Correct some strange comment formatting.
36 2017-07-21 Murray Cumming <murrayc@murrayc.com>
38 trackable: Make move operations noexcept.
40 I don't think there is any reason not to.
41 Noticed by clang-tidy.
43 2017-07-21 Murray Cumming <murrayc@murrayc.com>
45 weak_raw_ptr: Minor use of auto
47 Noticed by clang-tidy.
49 2017-07-21 Murray Cumming <murrayc@murrayc.com>
51 trackable: Don't bother checking for null before using delete.
53 Because deleting null is allowed.
54 Noticed by clang-tidy.
56 2017-07-21 Murray Cumming <murrayc@murrayc.com>
58 track_obj_functor: Make the constructor explicit.
60 Because it can take just one argument.
61 Noticed by clang-tidy.
63 2017-07-21 Murray Cumming <murrayc@murrayc.com>
65 tests: Initialize a member variable.
67 Noticed by clang-tidy.
69 2017-07-21 Murray Cumming <murrayc@murrayc.com>
71 tests: Some use of auto.
73 Noticed by clang-tidy.
75 2017-07-21 Murray Cumming <murrayc@murrayc.com>
77 tests: Make some casts explicit.
79 Noticed by clang-tidy.
81 2017-07-21 Murray Cumming <murrayc@murrayc.com>
83 tests: Include cstring instead of string.h
85 Noticed by clang-tidy.
87 2017-07-17 Kjell Ahlstedt <kjellahlstedt@gmail.com>
89 Update method names in comments
91 Some method names have changed from libsigc++2 to libsigc++3, but not all
92 comments have been changed accordingly.
94 * sigc++/connection.h: Correct some parameter names in doxygen comments.
95 connection::notify() has been replaced by a private method in weak_raw_ptr.
96 * sigc++/signal_base.[cc|h]: signal_impl::notify() has been renamed
97 notify_self_and_iter_of_invalidated_slot().
99 2017-07-17 Kjell Ahlstedt <kjellahlstedt@gmail.com>
101 Remove signal_base::erase() and signal_impl::erase()
103 They are not used in libsigc++3. Bug 784550
105 2017-07-17 Kjell Ahlstedt <kjellahlstedt@gmail.com>
107 test_signal: Test calls to signal_base::clear()
109 Call it both during signal emission and otherwise. Bug 784550
111 2017-07-17 Kjell Ahlstedt <kjellahlstedt@gmail.com>
113 signal_impl::clear(): Don't clear the slot list during signal emission
115 If signal_impl::clear() is called during signal emission, don't call
116 slots_.clear(). Let signal_impl::sweep() erase all slots after the signal
119 2017-04-18 Murray Cumming <murrayc@murrayc.com>
121 tests: Implement a function.
123 We don't actually call the function, but it avoids an inspection
124 warning from Jetbrains CLion, and doesn't seem unreasonable.
126 2017-04-18 Murray Cumming <murrayc@murrayc.com>
128 tests: Remove unnecessary includes.
130 Found by Jetbrains CLion.
132 2017-03-16 Chun-wei Fan <fanchunwei@src.gnome.org>
134 MSVC_Net2017/filelist.am: Fix listing
136 The test_functor_trait project was removed, so it ought to be removed from
137 MSVC_Net2017/filelist.am as well.
139 2017-03-14 Chun-wei Fan <fanchunwei@src.gnome.org>
141 Visual Studio builds: Update "install"
143 Numerous headers have been added or deleted during the development phase
144 of 3.0, so make sure we are copying the right items.
146 2017-03-14 Chun-wei Fan <fanchunwei@src.gnome.org>
148 Visual Studio builds: Rename libsigc++2 projects to libsigc++3
150 This makes it clearer to people that this is 3.x-to-be, not 2.x.
152 2017-02-14 Murray Cumming <murrayc@murrayc.com>
156 2017-02-13 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
158 slot_rep: Fix the notify_slot_rep_invalidated() name in comments
160 slot_rep::notify() has been renamed to notify_slot_rep_invalidated(),
161 but the name was not updated in all comments.
163 2017-02-13 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
165 slot_rep: Rename dup() to clone()
167 because clone() is the usual name of such a function. Bug 777618
169 2017-02-13 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
171 slot_rep: Make destructor, destroy() and dup() virtual
173 * sigc++/functors/slot_base.h:
174 * sigc++/functors/slot.h: Make ~slot_rep(), slot_rep::destroy() and
175 slot_rep::dup() virtual. Bug 777618
177 2016-12-19 Chun-wei Fan <fanchunwei@src.gnome.org>
179 Visual Studio builds: Rename MSVC_Net2013 to MSVC_Net2017
181 Since libsigc++-3.0 will require Visual Studio 2017 to build,
182 we ought to rename MSVC_Net2013 to MSVC_Net2017 so that it is clear to people,
183 and let them know that it is the case in README.
185 2016-12-11 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
187 Add tests/memleakcheck.sh
189 This shell script runs the test cases with valgrind, searching for
190 memory leaks. Bug 775871
192 2016-12-11 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
194 signal_impl: Use std::weak_ptr<signal_impl> in connected slots
196 A signal_impl object shall not store std::shared_ptr to itself via connected
197 slots. It results in memory leaks. Use std::weak_ptr in the self_and_iter
200 2016-12-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
202 signal_impl::clear(): Really avoid erasing the slots prematurely
204 The call signal_impl_exec_holder(this) creates a signal_impl_exec_holder
205 which is immediately destroyed. It does not stop signal_impl::notify() from
206 erasing the slots. Create a signal_impl_exec_holder that exists until the
209 2016-12-05 Chun-wei Fan <fanchunwei@src.gnome.org>
211 Visual Studio builds: Use Visual Studio 2017.
213 libsigc++-3.x requires C++-14 features which are only adequately supported
214 on Visual Studio 2017, so update the project settings to Visual Studio
217 Note that the 2017 CRT still makes use of the 2015 CRT as they aim to be
218 compatiable with each other.
220 2016-11-23 Murray Cumming <murrayc@murrayc.com>
222 tests: Catch exceptions by const ref.
226 2016-11-20 Christophe Lermytte <gentoo@lermytte.be>
228 Make --disable-benchmark work
230 Currently, when calling ./configure, the possible outcomes of the
231 enable_benchmark variable are:
234 ./configure --enable-benchmark -> "yes"
235 ./configure --enable-benchmark=yes -> "yes"
236 ./configure --enable-benchmark=no -> "yes"
237 ./configure --enable-benchmark=hello -> "yes"
238 ./configure --disable-benchmark -> "yes"
240 With this commit, those values become
243 ./configure --enable-benchmark -> "yes"
244 ./configure --enable-benchmark=yes -> "yes"
245 ./configure --enable-benchmark=no -> "no"
246 ./configure --enable-benchmark=hello -> "hello"
247 ./configure --disable-benchmark -> "no"
249 Note that enable_benchmark is currently only being checked for
254 2016-07-28 Murray Cumming <murrayc@murrayc.com>
256 slot_rep::dup(): Remove an unnecessary static_cast.
258 Found by CLion's code inspection.
260 2016-07-18 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
262 Build: Fix silent builds
264 * configure.ac: Pass yes to AM_SILENT_RULES, thus enabling silent builds.
265 Require mm-common 0.9.10 (not necessary for silent builds, but necessary when
266 MM_AX_CXX_COMPILE_STDCXX is used).
267 * docs/reference/Doxyfile.in: Set QUIET=YES.
268 Update for doxygen 1.8.11 (not necessary for silent builds).
271 2016-07-06 Murray Cumming <murrayc@murrayc.com>
275 2016-06-27 Murray Cumming <murrayc@murrayc.com>
279 2016-05-16 Murray Cumming <murrayc@murrayc.com>
281 Remove trailing whitespace.
283 2016-05-02 Murray Cumming <murrayc@murrayc.com>
285 slot_base: Use weak_raw_ptr instead of destroy_notify_struct.
289 2016-05-02 Murray Cumming <murrayc@murrayc.com>
291 connection: Use weak_raw_ptr for slot_base.
293 Instead of connection deriving from notifiable and setting/unsetting
294 its own notification callbacks. This simplifies the code.
296 2016-05-02 Murray Cumming <murrayc@murrayc.com>
298 Added sigc::internal::weak_raw_ptr<>.
300 As a simpler way to null a pointer to an object when that object
303 2016-04-29 Murray Cumming <murrayc@murrayc.com>
305 connection: Update the documentation.
307 This no longer needs to (or can be) created from an iterator.
309 2016-04-29 Murray Cumming <murrayc@murrayc.com>
311 Docs: Fix some minor typos.
313 2016-04-29 Murray Cumming <murrayc@murrayc.com>
315 Docs: Fix invokation->invocation typos.
317 2016-04-28 Murray Cumming <murrayc@murrayc.com>
319 signal_base: Remove unnecessary trackable.h include.
321 2016-04-28 Murray Cumming <murrayc@murrayc.com>
323 signal_base: Do not derive from trackable.
325 Because we don't seem to actually use the trackable API when using
326 these objects. There was a call to notify_callbacks(), but that
327 cannot have done anything, because nothing registers any callbacks
328 with the base trackable, and now cannot possibly register any
329 callbacks, because it's no longer a trackable.
331 2016-04-28 Murray Cumming <murrayc@murrayc.com>
333 slot_rep: Pass a slot_rep*, not notifiable*, to destroy().
335 To make it clearer exactly what callback signature is expected,
336 and what the type of the data is.
338 2016-04-28 Murray Cumming <murrayc@murrayc.com>
340 signal_impl: Doesn't need to derive from notifiable.
342 2016-04-27 Murray Cumming <murrayc@murrayc.com>
346 2016-04-27 Murray Cumming <murrayc@murrayc.com>
348 copy operations: Name all parameters src.
350 To make it more obvious that these are copy operations.
352 2016-04-24 Murray Cumming <murrayc@murrayc.com>
354 signal_impl_holder: Split into this and signal_exec_holder.
356 And use just signal_exec_holder in signal_impl::clear(),
357 instead of trying to take create a shared_ptr to this while
358 this is being destroyed.
362 2016-04-24 Murray Cumming <murrayc@murrayc.com>
364 signal_exec: Rename to signal_exec_holder.
366 Because that's what it does. It doesn't execute anything.
368 2016-04-23 Murray Cumming <murrayc@murrayc.com>
370 signal_impl: Trying to do the ref-counting with std::shared_ptr.
374 2016-04-22 Marcin Kolny <marcin.kolny@gmail.com>
376 slot: use pointer for functor_ member
378 Using pointer instead of value allows us to avoid calling
379 destructor of functor_ directly in destroy()
381 2016-04-22 Murray Cumming <murrayc@murrayc.com>
383 test_disconnect: Add comment to explain potential leak.
385 Because clang-tidy incorrectly (but understandably) complains about this.
387 2016-04-22 Murray Cumming <murrayc@murrayc.com>
389 tests: Make single argument constructors explicit.
391 Found by the google-explicit-constructor clang-tidy check.
393 2016-04-22 Murray Cumming <murrayc@murrayc.com>
395 limit_refernce: =default copy/move operations.
397 Because we really use at least the default copy constructor,
398 so this makes that clearer.
400 2016-04-22 Murray Cumming <murrayc@murrayc.com>
402 limit_reference: Make constructor explicit.
404 2016-04-22 Murray Cumming <murrayc@murrayc.com>
406 Connection: Constructor: Take slot_base as reference.
408 This constructor existed before, so this avoids an API break.
410 2016-04-21 Murray Cumming <murrayc@murrayc.com>
412 signal_emit: Make constructor explicit.
414 2016-04-21 Murray Cumming <murrayc@murrayc.com>
416 temp_slot_list: Make constructor explicit.
418 2016-04-21 Murray Cumming <murrayc@murrayc.com>
420 typed_slot_rep: Make constructor explicit.
422 2016-04-21 Murray Cumming <murrayc@murrayc.com>
424 test_size: Add comments with the results, so we can notice changes.
426 2016-04-21 Murray Cumming <murrayc@murrayc.com>
428 slot_rep: Rename notify() for clarity.
430 2016-04-21 Murray Cumming <murrayc@murrayc.com>
432 signal_impl: Rename notify_self_and_iter_invalidated().
434 To notify_self_and_iter_of_invalidated_slot(), to make it clear both
435 what is being notified, and what is being invalidated.
437 2016-04-21 Murray Cumming <murrayc@murrayc.com>
439 test_accum_iter: Use of decltype(auto).
441 2016-04-21 Murray Cumming <murrayc@murrayc.com>
443 Use temp_slot_list as const.
445 2016-04-21 Murray Cumming <murrayc@murrayc.com>
447 Fixed missing newline in doxygen comment.
449 2016-04-21 Murray Cumming <murrayc@murrayc.com>
451 signal_emit: Make a_ private.
453 2016-04-21 Murray Cumming <murrayc@murrayc.com>
455 signal_emit: Remove some public type aliases.
457 2016-04-21 Murray Cumming <murrayc@murrayc.com>
459 connection: Rename notify() for clarity.
461 2016-04-21 Murray Cumming <murrayc@murrayc.com>
463 connection: Make notify() private.
465 2016-04-21 Murray Cumming <murrayc@murrayc.com>
467 connection: Take the slot_base directly, without the intermediate slot_iterator.
469 2016-04-21 Murray Cumming <murrayc@murrayc.com>
471 signal::connect(): Return a sigc::connection.
473 Instead of an iterator aliases to a signal<>::connection.
475 2016-04-21 Murray Cumming <murrayc@murrayc.com>
477 slot_list: Remove this now-unused class.
479 2016-04-21 Murray Cumming <murrayc@murrayc.com>
481 Remove unused const_*_iterator.
483 And the unused slot_list methods that use it.
485 2016-04-21 Murray Cumming <murrayc@murrayc.com>
487 signal: Remove public emitter_type alias.
489 2016-04-21 Murray Cumming <murrayc@murrayc.com>
491 signal: Rename iterator to connection.
493 It is still actually an iterator, but we can change that later.
495 2016-04-21 Murray Cumming <murrayc@murrayc.com>
497 Remove now-unused slot_reverse_iterator_buf.
499 2016-04-21 Murray Cumming <murrayc@murrayc.com>
501 signal: Remove slots().
503 Because it does not seem useful.
504 Also remove the unused extra iterator types and the const slot().
506 2016-04-21 Murray Cumming <murrayc@murrayc.com>
508 signal: Remove emit_reverse().
510 It is not used in any tests or examples. Let's see if anybody actually
513 2016-04-21 Murray Cumming <murrayc@murrayc.com>
515 signal: connect(), insert(): Remove unnecessary static_cast<>s.
517 2016-04-21 Murray Cumming <murrayc@murrayc.com>
519 signal_base::insert(): Add and use help method to avoid copy/pasting.
521 2016-04-21 Murray Cumming <murrayc@murrayc.com>
523 signal_base: Rename notify() to notify_self_and_iter().
525 To make it clearer that this is only ever called for self_and_iter.
527 2016-04-21 Murray Cumming <murrayc@murrayc.com>
529 signal_base: Make notify() private.
531 2016-04-21 Murray Cumming <murrayc@murrayc.com>
533 signal_impl::insert(): Rename a variable for clarity.
535 2016-04-21 Murray Cumming <murrayc@murrayc.com>
537 slot_rep: Add and use unset_parent().
539 Because that is slightly clearer.
541 2016-04-20 Murray Cumming <murrayc@murrayc.com>
543 Update tests/.gitignore
545 2016-04-20 Murray Cumming <murrayc@murrayc.com>
547 benchmark: Use boost::timer instead of Glib::Timer.
549 And optionally build it, when --enable-benchmark is passed to configure.
551 2016-04-20 Murray Cumming <murrayc@murrayc.com>
553 benchmark: Use the newer syntax.
555 2016-04-20 Murray Cumming <murrayc@murrayc.com>
557 benchmark: Increase count.
559 2016-04-20 Murray Cumming <murrayc@murrayc.com>
561 benchmark: Make the 1000 a constant, so we can change it.
563 2016-04-20 Murray Cumming <murrayc@murrayc.com>
565 benchmark: Rearrange.
567 2016-04-20 Murray Cumming <murrayc@murrayc.com>
569 benchmark: Add copyright header.
571 2016-04-20 Murray Cumming <murrayc@murrayc.com>
573 benchmark: Update for the newer libsigc++ API.
575 2016-04-20 Murray Cumming <murrayc@murrayc.com>
577 Add original benchmark code.
580 https://mail.gnome.org/archives/libsigc-list/2003-October/msg00005.html
582 2016-04-20 Murray Cumming <murrayc@murrayc.com>
584 Correct some doxygen comments for variadic parameters.
586 These showed up as errors in doxygen.log.
588 2016-04-20 Murray Cumming <murrayc@murrayc.com>
590 Correct a doxygen comment.
592 2016-04-20 Murray Cumming <murrayc@murrayc.com>
594 Remove another unecessary c++ marker comment.
596 2016-04-20 Murray Cumming <murrayc@murrayc.com>
598 Added missing copyright headers.
600 These files might be older than 2003, but that's all I see in our
601 git respository (imported from the old svn repository, which probably
602 lost some history once).
604 2016-04-20 Murray Cumming <murrayc@murrayc.com>
606 tests: Move copyright headers to top.
608 2016-04-20 Murray Cumming <murrayc@murrayc.com>
610 Remove unnecessary -*- c++ - *-* comments.
612 2016-04-20 Murray Cumming <murrayc@murrayc.com>
614 tests: Add missing copyright headers.
616 2016-04-20 Murray Cumming <murrayc@murrayc.com>
618 Update copyright years.
620 2016-04-19 Murray Cumming <murrayc@murrayc.com>
622 tuple_transform_each: Don't use typename for a template template parameter.
624 2016-04-19 Murray Cumming <murrayc@murrayc.com>
626 Revert "concepts: bind: Use the origin::Copy_constructible C++ concept."
628 This reverts commit 66cee4dd3c0595ee62b446afafb5bbbfdcd36eca.
630 I didn't mean to push this to master.
632 2016-04-19 Murray Cumming <murrayc@murrayc.com>
634 signal: Rename list_ to sig_impl_.
636 Because that's what it is.
637 And avoid the need for a __ prefix on the input parameter.
639 2016-04-19 Murray Cumming <murrayc@murrayc.com>
641 signal: Remove __ prefix on tmp variables.
643 Leading underscores are reserved in C++.
645 2016-04-19 Murray Cumming <murrayc@murrayc.com>
647 Remove _A_ prefixes from method arguments.
649 Leading underscores are reserved in C++, and the A is just odd.
651 2016-04-19 Murray Cumming <murrayc@murrayc.com>
653 Header guards: Remove leading underscores (and trailing underscores).
655 Names with leading underscores are reserved in C++.
657 2016-04-19 Murray Cumming <murrayc@murrayc.com>
659 Use typename instead of class for all template parameters.
661 Apart from template template parameters, which must still be class
662 according to the C++14 standard:
663 http://stackoverflow.com/a/11311432/1123654
664 though g++ and clang++ actually already supporting using typename
665 instead by implementing N4051:
666 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4051.html
668 2016-04-19 Murray Cumming <murrayc@murrayc.com>
670 Revert "Always use typename rather than class for template types."
672 This reverts commit 180353986d101e367c26b3199c44c7b2e4c1e681.
674 Because I misread https://stackoverflow.com/questions/213121/use-class-or-typename-for-template-parameters
675 class is _still_ needed for template template parameters in C++14,
676 though g++ and clang++ seem to support it anyway.
678 2016-04-19 Murray Cumming <murrayc@murrayc.com>
680 Always use typename rather than class for template types.
682 For consistency. As of C++14 class is not necessary even
683 for template template parameters. We can change those few uses back
684 to class if any (otherwise compliant-enough) compiler actually needs it.
685 See http://stackoverflow.com/a/11311432/1123654
687 2016-04-18 Murray Cumming <murrayc@murrayc.com>
689 concepts: bind: Use the origin::Copy_constructible C++ concept.
691 2016-04-16 Murray Cumming <murrayc@murrayc.com>
695 2016-04-16 Murray Cumming <murrayc@murrayc.com>
697 Replace some reinterpret_cast<>s with static_casts<>.
699 This is particularly unnecessary now that we have the notifiable
702 2016-04-15 Murray Cumming <murrayc@murrayc.com>
704 limit_trackable_target: =delete copy/move operations.
706 2016-04-15 Murray Cumming <murrayc@murrayc.com>
708 Correct some comments.
710 2016-04-15 Murray Cumming <murrayc@murrayc.com>
712 visit_each: Prototype trackable as struct, not class.
714 clang++ rightly complains that it cannot be both a struct and a class.
716 2016-04-15 Murray Cumming <murrayc@murrayc.com>
718 self_and_iter: Take the iterator by const ref and store it as const.
720 This is less generically useful, but this isn't a generally used class.
722 2016-04-15 Murray Cumming <murrayc@murrayc.com>
724 test_visit_each_type: Rename to test_visit_each_trackable.
726 2016-04-15 Murray Cumming <murrayc@murrayc.com>
730 2016-04-15 Murray Cumming <murrayc@murrayc.com>
732 limit_derived_target<T_Target>: Rename to limit_trackable_target<>.
734 Because that is now how we always use it, and this makes things
735 clearer by being less generic.
737 2016-04-15 Murray Cumming <murrayc@murrayc.com>
739 Rename visit_each_type<T_Type>() to visit_each_trackable().
741 Because that is how we always use it. Making it more generic obscures
742 how it works and what it is for.
743 We can revert, and improve this, if we ever need to handle more than
744 one way to make a functor's arguments trackable.
746 2016-04-15 Murray Cumming <murrayc@murrayc.com>
748 limit_derived_target(): Remove the specialization for pointer types.
750 Now we always call visit_each_type() with trackable, not sometimes
753 2016-04-15 Murray Cumming <murrayc@murrayc.com>
755 Remove now-irrelevant comment.
757 2016-04-15 Murray Cumming <murrayc@murrayc.com>
759 visit_each_type: More comments.
761 2016-04-15 Murray Cumming <murrayc@murrayc.com>
765 2016-04-15 Murray Cumming <murrayc@murrayc.com>
767 signal_emit: Make call_type private and remove iterator_type.
769 2016-04-15 Murray Cumming <murrayc@murrayc.com>
771 visit_each_type(): Add comment about how it is used.
773 2016-04-15 Murray Cumming <murrayc@murrayc.com>
775 test_functor_trait: Rename to test_visit_each_type.
777 2016-04-15 Murray Cumming <murrayc@murrayc.com>
779 Remove now-irrelevant comments.
781 2016-04-15 Murray Cumming <murrayc@murrayc.com>
783 test_functor_trait: Rearange to make tests self-contained.
785 I guess this should really be called test_visit_each_type.
787 2016-04-15 Murray Cumming <murrayc@murrayc.com>
789 visit_each_type(): Remove unnecessary intermediate alias.
791 2016-04-15 Murray Cumming <murrayc@murrayc.com>
793 Remove now-irrelevant comment.
795 2016-04-15 Murray Cumming <murrayc@murrayc.com>
797 limit_derived_target: Add some comments.
799 2016-04-15 Murray Cumming <murrayc@murrayc.com>
801 limit_derived_type: Move with_type and with_type_pointer into class.
803 As private inner classes. This makes it clearer that they are only used
806 2016-04-15 Murray Cumming <murrayc@murrayc.com>
808 with_type/with_type_pointer: Use is_base_of_or_same_v<> in declaration.
810 Instead of in the instantiation. This makes the relationship between
811 the two template types, and their specialiations, slightly clearer.
813 2016-04-15 Murray Cumming <murrayc@murrayc.com>
815 slot_rep::notify(): Rearrange a comment.
817 2016-04-15 Murray Cumming <murrayc@murrayc.com>
819 signal_exec: =delete copy and move operations.
821 2016-04-15 Murray Cumming <murrayc@murrayc.com>
823 slot_rep: Make =deleted operations public.
825 It doesn't really make sense for these to be private.
827 2016-04-14 Murray Cumming <murrayc@murrayc.com>
831 2016-04-13 Murray Cumming <murrayc@murrayc.com>
833 limit_derived_target: Move T_Self aliases into methods where they are used.
835 2016-04-13 Murray Cumming <murrayc@murrayc.com>
837 adapts, typed_slot_rep: Make adaptor_type aliases private.
839 They are used in public API, but that is legal C++.
840 This way, we don't need to think that the public types are needed.
842 2016-04-13 Murray Cumming <murrayc@murrayc.com>
844 compose: Remove left-over adaptor_type.
846 2016-04-13 Murray Cumming <murrayc@murrayc.com>
848 compose: Remove unnecessary getter/setter aliases.
850 2016-04-13 Murray Cumming <murrayc@murrayc.com>
852 Remove unnecessary functor_base.
854 It only existed as something to derive from to show that it had the
857 2016-04-13 Murray Cumming <murrayc@murrayc.com>
859 signal: Remove result_type from emitters and accumulators.
861 2016-04-13 Murray Cumming <murrayc@murrayc.com>
863 signal: Remove most unused result_type aliases.
865 2016-04-13 Murray Cumming <murrayc@murrayc.com>
867 functor_type: Remove unused result_type.
869 2016-04-13 Murray Cumming <murrayc@murrayc.com>
871 Remove all remaining result_type aliases.
873 They are not actually needed by anything.
875 2016-04-13 Murray Cumming <murrayc@murrayc.com>
877 adapts, adaptor_functor: Remove result_type.
879 Instead just using functor_trait<T_Functor>::result_type wherever
880 it would be used, because that is always the same thing.
882 2016-04-13 Murray Cumming <murrayc@murrayc.com>
884 adaptor_trait: Remove unnecessary result_type.
886 It was only used in adapts<>, but that can just use functor_trait<>
887 instead. This leaves adaptor_trait doing one simple job: Either
888 giving us the original functor or giving us a functor (mem_functor
889 or ptr_functor) to wrap a bare C function.
891 2016-04-13 Murray Cumming <murrayc@murrayc.com>
893 adpator_trait: Slight improvements to doxygen comments.
895 2016-04-13 Murray Cumming <murrayc@murrayc.com>
897 adaptor_trait.h: Move adapts<> into its own file.
899 To make it clearer what is used by what.
901 2016-04-13 Murray Cumming <murrayc@murrayc.com>
903 adaptor_trait: Remove an apparently-unnecessary extra declaration for Doxygen.
905 2016-04-13 Murray Cumming <murrayc@murrayc.com>
907 exception_catch_functor: Remove unused adaptor_type.
909 2016-04-13 Murray Cumming <murrayc@murrayc.com>
911 Make unused adaptor_type aliases private.
913 2016-04-13 Murray Cumming <murrayc@murrayc.com>
915 adaptor_trait: Remove unused functor_type.
917 2016-04-13 Murray Cumming <murrayc@murrayc.com>
919 Use just one TupleVisitorVisitEach instead of having 2 identical.
921 Just to avoid the copy/pasting even of this small amount of code.
923 2016-04-13 Murray Cumming <murrayc@murrayc.com>
925 TrackObjVisitEach: Use constexpr, as in TupleVisitorVisitEach.
927 2016-04-13 Murray Cumming <murrayc@murrayc.com>
929 signal_base.h: Move temp_slot_list to signal.h
931 Because that is the only place where it is used.
933 2016-04-12 Murray Cumming <murrayc@murrayc.com>
935 Make a comment easier to reformat.
937 2016-04-08 Murray Cumming <murrayc@murrayc.com>
941 2016-04-08 Murray Cumming <murrayc@murrayc.com>
945 2016-04-01 Murray Cumming <murrayc@murrayc.com>
947 C++11: Small uses of auto.
949 2016-04-01 Murray Cumming <murrayc@murrayc.com>
951 C++11: slot: Use = default for simple copy constructor.
953 With help from clang-tidy, like so:
954 clang-tidy-3.8 -fix --checks=modernize-use-default --header-filter=.* `find . -name "*.cc"`
955 after using "bear make all check".
957 2016-04-01 Murray Cumming <murrayc@murrayc.com>
959 C++11: Use = default for simple default constructors.
961 With help from clang-tidy, like so:
962 clang-tidy-3.8 -fix --checks=modernize-use-default --header-filter=.* `find . -name "*.cc"`
963 after using "bear make all check".
965 2016-04-01 Murray Cumming <murrayc@murrayc.com>
967 signal: Use a range-based for() loop.
969 2016-04-01 Murray Cumming <murrayc@murrayc.com>
971 Use of auto instead of mentioning iterator types.
973 2016-04-01 Murray Cumming <murrayc@murrayc.com>
975 trackable.cc: Use auto instead of specifying iterator type.
977 2016-04-01 Murray Cumming <murrayc@murrayc.com>
979 Revert "tuple tests: Use static_assert() in constexpr tests."
981 This reverts commit 798210eeaedd88477b71115423b1d7928e81138f.
983 Because this doesn't work with g++ (at least version 5.2.1)
984 though it does work with clang++ (3.8).
986 g++ gives this error:
988 test_tuple_start.cc: In function ‘constexpr void test_tuple_start_constexpr()’:
989 test_tuple_start.cc:130:3: error: non-constant condition for static assertion
990 static_assert(std::get<0>(t_prefix) == nullptr,
992 test_tuple_start.cc:130:3: error: ‘nullptr’ is not a constant expression
994 2016-04-01 Murray Cumming <murrayc@murrayc.com>
996 tuple tests: Use static_assert() in constexpr tests.
998 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1000 limit_derived_target: Make constructors explicit.
1004 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1006 slot_do_bind/unbind: Make constructors explicit.
1010 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1012 Remove unnecessary signal.cc file.
1014 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1016 Remove unnecessary slot.cc file.
1018 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1020 docs: ptr_fun: Improve the simple description.
1022 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1024 docs: slots: Fix tiny typo.
1026 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1028 docs: mem_fun: Improve the simple description.
1030 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1032 docs: mem_fun: Improve the note about auto-disconnection.
1034 Because "cleared" doesn't really tell us how this benefits us.
1036 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1038 docs: slots: Mention automatic disconnection.
1040 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1042 docs: slots: auto: Mention why it is bad.
1044 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1046 test_mem_fun: Test auto-disconnection with trackable.
1048 This is probably tested somewhere else already, but I like having it
1049 here too because it is an important reason for slot<> to exist,
1050 compared to a simple std::function.
1052 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1054 test_mem_fun: Rearrange into individual test functions.
1056 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1058 docs: Slots: Add section titles to break it up.
1060 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1062 Remove now-useless SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
1064 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1066 Docs: Remove unnecessary Scope of Documentation paragraph.
1068 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1070 Some perfect-forwarding.
1072 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1074 limit_derived_target: Use perfect forwarding.
1076 2016-04-01 Murray Cumming <murrayc@murrayc.com>
1078 visit_each.h: Add and use is_base_of_or_same_v to avoid duplication.
1080 2016-03-31 Murray Cumming <murrayc@murrayc.com>
1082 Use {} with multiline while() blocks.
1084 2016-03-31 Murray Cumming <murrayc@murrayc.com>
1086 Use {} with multiline for() blocks.
1088 2016-03-31 Murray Cumming <murrayc@murrayc.com>
1090 Rearrange another comment.
1092 2016-03-31 Murray Cumming <murrayc@murrayc.com>
1094 Make a comment easier to reformat with clang-format.
1096 2016-03-30 Murray Cumming <murrayc@murrayc.com>
1098 slot_base: Make _dup private and _destroy protected.
1100 2016-03-30 Murray Cumming <murrayc@murrayc.com>
1102 signal_base/signal_exec: Make some member data protected.wq
1104 2016-03-30 Murray Cumming <murrayc@murrayc.com>
1106 slot_list: Make list_ private, not protected.
1108 2016-03-30 Murray Cumming <murrayc@murrayc.com>
1110 Reformat .h files with clang-format.
1112 2016-03-30 Murray Cumming <murrayc@murrayc.com>
1114 Reformat .cc files with clang-format.
1116 2016-03-30 Murray Cumming <murrayc@murrayc.com>
1118 Add .clang-format file and reformat tests and examples.
1120 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1124 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1126 website: license: Link to the (LGPL3) license text.
1128 Instead of showing a copy of the license text.
1130 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1132 COPYING: Change from LGPL 2+ to LGPL 3+
1134 Because the tuple-utils .h files are LGPL 3+.
1135 Bug #763616 (Dominique Leuenberger)
1137 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1139 tuple-utils: Change license from GPL to LGPL.
1141 Following the change in their source in murrayc-tuple-utils.
1142 I am the author, with some small improvements by Jonathan Wakely,
1143 who agreed to the license change via email.
1145 Bug #763616 (Dominique Leuenberger)
1147 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1149 configure.ac: Remove check for m4.
1151 As suggested by Kjell: https://bugzilla.gnome.org/show_bug.cgi?id=763515#c2
1153 2016-03-18 Marcin Kolny <marcin.kolny@gmail.com>
1155 .gitignore: update test ignored files list
1157 2016-03-18 Marcin Kolny <marcin.kolny@gmail.com>
1159 build: remove unused m4 file
1161 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1163 website: Improve the bugs links for clarity.
1165 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1167 website: Mention the GitHub mirror.
1169 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1171 website: Fix a capitalized libsigc++.
1173 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1175 test_member_method_trait: Implement the methods.
1177 Because Jetbrains CLion inspections complain about it, and that
1180 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1182 website: Update Developers part to mention libsigc++-3.0.
1184 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1186 website: Change News section to just link to NEWS.
1188 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1190 website: Remove benchmark page, apparently unlinked.
1192 2016-03-18 Murray Cumming <murrayc@murrayc.com>
1194 CMake: tests: explicitly list the tests.
1196 I don't like just looking for *.cc files in the directory. That
1199 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1203 2016-03-16 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1205 slot: Reinsert a comment that disappeared accidentally
1207 The description of slot's specialization of visitor<>::do_visit_each<>()
1208 disappeared by mistake when the slot# classes were removed.
1210 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1212 slot: Allow only the slot<R(Args...)> syntax.
1214 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1216 tests: Use the sigc::slot<R(Args...)> syntax only.
1218 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1220 pointer_functor: Use the R(Args...) syntax.
1222 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1224 signal: Allow only the signal<R(Args...)> syntax.
1226 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1228 tests: Use sigc::signal<R(Args...)> syntax only.
1230 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1232 signal: Use the slot<R(Args...)> syntax.
1234 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1236 examples: Use sigc::signal<R(Args...)> syntax.
1238 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1240 docs: signal_base/exception_catch: Use signal<R(Args...)> syntax.
1242 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1244 docs: slot_base: Use slot<R(Args...)> syntax.
1246 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1248 docs: Use signal<R(Args..)> syntax.
1250 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1252 docs: mem_fun/ptr_fun: Use the sigc::slot<R(Args...)> syntax.
1254 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1256 test_retype: Add test of R(Args...) syntax.
1258 2016-03-16 Murray Cumming <murrayc@murrayc.com>
1260 test_retype: Break into smaller tests.
1262 2016-03-15 Murray Cumming <murrayc@murrayc.com>
1264 Reference docs: main page: Use @c to monospace function names.
1266 2016-03-15 Murray Cumming <murrayc@murrayc.com>
1268 Reference docs: main page: Discourage multiple PKG_CHECK_MODULES() calls.
1270 Mention that one PKG_CHECK_MODULES() call can check for all
1271 pgk-config-based dependencies.
1273 2016-03-15 Murray Cumming <murrayc@murrayc.com>
1275 Reference docs: main page: Make autotools part consistent with CMake part.
1277 2016-03-15 Murray Cumming <murrayc@murrayc.com>
1279 Reference docs: main page: Mention CMake.
1281 2016-03-13 Murray Cumming <murrayc@murrayc.com>
1283 Add a file about build systems.
1285 Otherwise people will wonder whether we use autotools or CMake as our
1288 2016-03-13 Murray Cumming <murrayc@murrayc.com>
1290 Update README to remove mention of m4.
1292 2016-03-13 Murray Cumming <murrayc@murrayc.com>
1294 test_tuple_transform_each: Comment out constexpr test that fails with g++.
1296 Hopefully this works with newer g++ versions.
1298 2016-03-13 Marcin Kolny <marcin.kolny@gmail.com>
1300 cmake: reduce required version to 3.2
1302 2016-03-13 Marcin Kolny <marcin.kolny@gmail.com>
1304 cmake: add cmake files to dist package
1306 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
1308 cmake: fix generating cmake *Config files
1310 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
1312 cmake: fix library name
1314 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
1316 cmake: fix library output name
1318 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
1320 cmake: install sigc++config.h file
1322 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
1324 cmake: don't install uninstalled.pc file
1326 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
1328 cmake: add uninstall target
1330 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
1332 cmake: install headers from sigc++ directory
1334 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
1336 cmake: generate and install uninstalled.pc file
1338 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
1340 cmake: generate cmake *Config and *ConfigVersion files
1342 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
1344 cmake: add pkg-config support
1346 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
1348 cmake: init - add cmake files
1350 2016-03-11 Murray Cumming <murrayc@murrayc.com>
1352 signal: Allow sigc::signal<R(Args...)> declaration, like std::function.
1354 By adding a template specialization that repeats the main
1355 template declaration, though it would be good to avoid the repetition.
1359 Please enter the commit message for your changes. Lines starting
1361 2016-03-11 Murray Cumming <murrayc@murrayc.com>
1363 slot: Allow sigc::slot<R(Args...)> declaration, like std::function.
1365 By adding a template specialization that repeats the main
1366 template declaration, though it would be good to avoid the repetition.
1370 2016-03-11 Murray Cumming <murrayc@murrayc.com>
1372 signal: Update and improve the doxygen comment.
1374 2016-03-11 Murray Cumming <murrayc@murrayc.com>
1376 test_accumulated(): Restructure this.
1378 To make it clearer and to keep the small tests more self-contained and
1381 2016-03-11 Murray Cumming <murrayc@murrayc.com>
1383 test_signal: Add test_simple().
1385 2016-03-11 Murray Cumming <murrayc@murrayc.com>
1387 test_signal(): Restructure this.
1389 To make it clearer and to keep the small tests more self-contained and
1392 2016-03-11 Murray Cumming <murrayc@murrayc.com>
1394 slot: Update the Doxygen comment.
1396 2016-03-11 Murray Cumming <murrayc@murrayc.com>
1398 slot: Correct the doxygen comment line ending.
1400 2016-03-11 Murray Cumming <murrayc@murrayc.com>
1402 test_slot(): Restructure this.
1404 To make it clearer and to keep the small tests more self-contained and
1407 2016-03-10 Murray Cumming <murrayc@murrayc.com>
1409 examples build: Disable deprecated API.
1411 2016-03-10 Murray Cumming <murrayc@murrayc.com>
1413 mem_functor: Remove now-unnecessary operator()(pointer).
1415 2016-03-10 Murray Cumming <murrayc@murrayc.com>
1417 retype: Simplify by using a template template parameter.
1419 2016-03-10 Murray Cumming <murrayc@murrayc.com>
1421 mem_fun(): Remove the T_obj* overloads.
1423 So you would, for instance, always call sigc::mem_fun(*this, ...)
1424 instead of sigc::mem_fun(this, ...).
1428 2016-03-08 Murray Cumming <murrayc@murrayc.com>
1430 tuple_transform_each(): Allow this to be a constexpr.
1432 2016-03-08 Murray Cumming <murrayc@murrayc.com>
1434 bind: Use of constexpr.
1436 2016-03-08 Murray Cumming <murrayc@murrayc.com>
1438 tuple_for_each(): Use of constexpr.
1440 2016-03-08 Murray Cumming <murrayc@murrayc.com>
1442 tuple_cdr(), tuple_start(), tuple_end(): Use of constexpr.
1444 2016-03-08 Murray Cumming <murrayc@murrayc.com>
1446 TupleVisitorVisitEach and TupleVisitorVisitEach: Use constexpr.
1448 This would seem to be necessary if the tuple utils are ever fully
1451 2016-03-08 Murray Cumming <murrayc@murrayc.com>
1455 2016-03-08 Murray Cumming <murrayc@murrayc.com>
1457 Put member_method*<> in sigc::internal namespace.
1459 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1461 NEWS: Mention that it needs C++14.
1463 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1467 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1469 Use mem_fun.h as a regular .h file.
1471 Instead of generating it from an .m4 file.
1472 This still has some repetition, but it is not nearly as much as before,
1473 and it is the last m4 file.
1474 Having all the code in normal C++ source files makes it far easier for people
1475 to contribute, to actually reduce this repetition.
1477 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1479 .doap: Correct the web site URL.
1481 Though we really must stop using sourceforge even for the web site.
1483 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1485 Rename our .doap file.
1487 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1489 Use 2.99.1 instead of 2.9.1
1491 This gives us more room for 2.x releases of the libsigc++-2.0 API
1494 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1496 Rename mem_functor_base to mem_functor.
1498 And rename bound_mem_functor_base to bound_mem_functor.
1500 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1502 mem_fun.h.m4: Remove mem_functor and const_mem_functor.
1504 They were only used in one place, internally, and did not add much clarity.
1506 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1508 mem_fun.h.m4: Remove bound_const_mem_functor alias.
1510 It was only used in one place in the code and didn't add much clarity.
1512 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1514 bound_mem_functor: Remove constructor that takes pointer.
1516 Leaving just the constructor that takes the object by reference.
1517 This is not a class that application code would use directly,
1518 so there seems no need for the convenience.
1520 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1522 mem_functor_base: Use member_method_result<>::type.
1524 To avoid the (apparent) need to use T_args... with std::result_of_t<>.
1526 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1528 Added member_method_result<>::type type trait.
1530 This seems to be easier than std::result_of<>, which seems to need us to
1531 explicitly specify the arguments too.
1533 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1535 bound_mem_functor_base: Remove now-unnecessary T_obj template parameter.
1537 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1539 mem_functor_base: Remove T_obj template parameter.
1541 Instead using member_method_class<>::type.
1543 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1545 Add member_method_class<>::type type trait.
1547 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1549 Remove some now-unused tuple_type*<> type traits.
1551 Because we now motly only need the tuple*() utilities to manipulate
1552 the actual instances. Some are still need for those tuple*()
1555 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1557 hide_functor: Don't specify a specific specialization for operator().
1559 It doesn't seem to be necessary now.
1561 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1563 Remove unnecessary TODO comment.
1565 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1567 bound_mem_functor_base: Remove now-unused T_return template parameter.
1569 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1571 mem_functor_base: Remove T_return template parameter.
1573 Instead using std::result_of<> to discover it from the T_func.
1575 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1577 bound_mem_functor_base: Remove T_limit_reference template parameter.
1579 Instead discover it via std::conditional_t and our
1580 ember_method_is_const<>::value type traits.
1582 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1584 use limit_reference.h as a regular .h file.
1586 Instead of generating it.
1588 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1590 Rename limit_reference_base to limit_reference.
1592 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1594 Remove limit_reference_base<> aliases, such as const_limit_reference.
1596 Because limit_reference_base<T_type> is now simple enough to just
1599 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1601 limit_reference.h.m4: Remove unused 2nd LIMIT_REFERENCE() parameter.
1603 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1605 limit_reference_base: Rename template parameter back to T_type.
1607 Because I think that is what this really is.
1608 Now this limit_reference_base<> is again as simple as *_limit_reference
1609 in libsigc++-2.0 but without the code generation and multiple classes.
1611 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1613 limit_reference_base: Take just one template parameter.
1615 And use std::remove_volatile_t<> to get the other.
1617 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1619 mem_fun: Use limit_reference_base instead of aliases.
1621 Because it is now simple enough.
1623 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1625 bound_*_mem_functor: Use limit_reference_base instead of aliases.
1627 Because it is now simple enough.
1629 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1631 limit_reference_base<>: Avoid the need for the T_trackable template parameter.
1633 By using std::conditional_t and std::is_const<>::value.
1635 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1637 (bound_)mem_functor_base: Remove T_obj_with_modifier template parameter.
1639 Remove the need for this by using std::conditional_t<> and
1640 our member_method_is_const<>::value instead.
1642 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1644 Add member_method_is_const<> and member_method_is_volatile.
1646 And some tests for them.
1648 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1650 mem_fun(): Use base bound_mem_functor_base instead of the aliases.
1652 Thus making the bound_mem_functor, bound_const_mem_functor,
1653 bound_const_volatile_mem_functor, etc, aliases unused.
1655 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1657 mem_fun(): Use base mem_functor_base instead of the aliases.
1659 Thus making the mem_functor, const_mem_functor, const_volatile_mem_functor,
1660 etc, aliases unused.
1662 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1664 limit_reference.h.m4: Make *_limit_reference template aliases of a limit_reference_base.
1666 And have just one visitor specialization, using the base class.
1667 As for *_mem_functor. This avoids the repetition.
1669 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1671 A small const improvement.
1673 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1675 Use retype.h as a normal .h file.
1677 Instead of generating it.
1679 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1681 retype.h.m4: Have retype() for just the 2 base *_mem_functor_base classes.
1683 Then we don't need to generate code for this at all.
1685 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1687 mem_func.h.m4: Have just one visitor specialization for bound_mem_functor_base.
1689 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1691 mem_fun.h.m4: Make bound_*_mem_functor template aliases of a bound_mem_functor_base.
1693 As for *_mem_functor. This avoids the repetition
1695 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1697 mem_fun.h.m4: Make *_mem_functor template aliases of a mem_functor_base.
1699 This avoids the repetition.
1701 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1703 functor_trait.h: Do not repeat mem_functor and pointer_function declarations.
1705 Instead just include the headers.
1706 Then we can change their declarations without having to do it in two places.
1708 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1710 Split functor_trait.h into functor_base.h and functor_trait.h.
1712 So that slot_base doesn't need to include so much.
1714 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1716 Don't include functor_trait.h where it is not used.
1718 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1720 C++11: Change all typedefs to using.
1722 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1724 bind.h.m4: Remove now-unnecessary dnls.
1726 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1728 Fix a typo in a static_asser() error message.
1730 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1732 bind_functor: Don't specify the operator() template specialization.
1734 This doesn't seem to be necessary now.
1736 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1738 bind_functor: Make bound_ private.
1740 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1742 signal_base: clear signal_impl in its own destructor.
1744 This deals with some TODO comments.
1745 This patch is based on a suggestion from Kjell Ahlstedt:
1746 See https://bugzilla.gnome.org/show_bug.cgi?id=167714#c14
1748 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1750 hide_functor::operator(): Do some perfect forwarding.
1752 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1754 hide_functor: Avoid using std::make_tuple().
1756 Because it can change types, such as changing std::ref()ed T to T.
1758 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1760 Update tuple-utils from murrayc-tuple-utils.
1762 tuple_transform_each() now iterates in order, instead of in reverse,
1763 though that didn't seem to matter to how we used it in libsigc++.
1765 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1767 Connection::operator bool(): Make this const.
1769 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1771 Remove use of removed SIGC_HAVE_SUN_REVERSE_ITERATOR
1773 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1775 sigc++config.h.in: Remove unused macros.
1777 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1779 slot/slot_base: Make some API private.
1781 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1783 slot_rep::dup(): Take a slot_rep* instead of void*.
1785 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1787 Add and use notifiable base class instead of void*.
1789 Use notifiable as the base class for trackable, connection, signal_impl,
1790 self_and_iter and destroy_notify_struct.
1792 Use this notifiable* instead of void* for the destroy/notify callback data.
1793 This is a little more type-safe and self-documenting.
1796 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1798 Remove C++ standard library checks.
1800 We do not actually use these, and it must have been years since
1801 any compiler didn't, for instance, have the std namespace.
1803 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1805 Remove nil and the associated pragma push/pop fixes for Objective C++.
1807 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1809 signal: Use void instead of nil to mean no accumulator.
1811 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1813 Remove unused SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION() configure check.
1815 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1817 Remove SIGC_WORKAROUND_OPERATOR_PARENTHESES, using just .template operator()<>.
1819 We can add it back if we find that the Sun or Microsoft compilers still
1820 need it, when/if they support enough C++14 anyway.
1821 We can always use libsigc++-2.0 to easily discover what its configure
1822 checks say about the compiler behaviour.
1824 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1826 adaptor_functor: Do some perfect forwarding.
1828 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1830 retype_return_functor: Do some perfect forwarding.
1832 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1834 compose: Do some perfect forwarding.
1836 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1838 track_obj_functor: Do some perfect forwarding.
1840 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1842 bind(): Correct the static_assert().
1844 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1846 bind(): Add a static_assert() for when bind<num> is passed a too-high index.
1848 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1850 template.macros.m4: Remove unused m4 macros.
1852 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1854 Put tuple-utils into sigc::internal namespace.
1856 To discourage people from using libsigc++ just for the tuple utils.
1858 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1860 Move all tuple_*.h files into sigc++/tuple-utils/
1862 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1864 bind_functor::operator(): Do perfect forwarding.
1866 To be consistent with the other operator().
1868 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1870 Create a parallel-installable sigc++-3.0 API/ABI.
1872 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1876 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1878 bind: Some perfect forwarding.
1880 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1882 Avoid std::make_tuple().
1884 To preserve std::ref()ed elements.
1886 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1888 Put bind() in its own bind.h file instead of generating it.
1890 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1892 bind.h.m4: Make variadic.
1894 With a partial build fix from Marcin Kolny.
1896 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1898 bind: Make the visitor<> specialization variadic.
1900 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1902 bind<-1>: Store the bound args in a tuple.
1904 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1906 bind<num>(): Store the single bound arg in a tuple.
1908 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1910 track_obj.h: Use this as a normal .h file.
1912 Instead of genrating it from a .h.m4 file.
1914 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1916 track_obj.h.m4: Make this variadic.
1918 This uses a tuple_for_each<>() utility taken from here:
1919 https://github.com/murraycu/murrayc-tuple-utils/tree/master/tuple-utils
1920 for the visit_each() specialization.
1922 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1924 hide.h: Use this as a normal .h file.
1926 Instead of generating it from an .h.m4 file.
1928 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1930 hide_functor: Make this fully variadic.
1932 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1934 hide.h.m4: hide_functor::operator(): Make this variadic.
1936 This uses some tuple manipulation utilities so that the variadic parameters
1937 with which we call a method can be based on the variadic parameters that the
1938 caller received, but not exactly. In this case, we need to replace an element
1939 in the middle of a tuple. There is probably a more efficient way to do this.
1941 For now, this is using copies of the tuple utilities from here:
1942 https://github.com/murraycu/murrayc-tuple-utils/tree/master/tuple-utils
1944 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1946 Add tuple utils from murrayc-tuple-utils.
1948 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1950 exception_catch_functor::operator():
1952 Remove the unnecessary operator()() overload.
1953 This did need me to change the test code so that it doesn't try to
1954 provide a catch function that returns something, but that seems
1955 more correct anyway.
1957 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1959 Another use of decltype(auto) for a return type
1961 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1963 Correct some documentation.
1965 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1967 More use of decltype(auto) for return types.
1969 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1971 retype: Make this variadic.
1973 However, we still need to generate const/volatile/const_volatile/
1974 bound_const/bound_volatile/bound_const_volatile versions.
1976 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1978 slot.h: Remove comment about this being generated.
1980 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1982 slot.h: Use this as a normal .h file.
1984 Instead of generating it from a .h.m4 file.
1986 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1988 slot: Make this fully variadic.
1990 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1992 slot.h.m4: make slot_call fully variadic.
1994 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1996 bind_functor::operator()(): Give this a dummy template parameter.
1998 And remove the m4 ifelse from slot.h.m4 because we can now resolve
1999 that operator() when calling it with an empty variadic parameter pack.
2001 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2003 slot.h.m4: visit_each specialization: Make this variadic.
2005 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2007 make_slot: Use decltype(auto) for return type.
2009 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2011 Replace some uses of result_type with decltype(auto).
2013 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2015 Remove code that used the SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD ifndefs.
2017 See the previous commit.
2019 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2021 test_acum_iter: Replace signal_accumulated with signal<>::accumulated.
2023 I've never noticed this sub-template before, but this syntax is
2026 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2028 signal.h: Use this as a normal header file.
2030 Instead of generating it from a .h.m4 file.
2032 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2034 signal: Make this fully variadic.
2036 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2038 signal.h.m4: Rename signal1/2/3/etc to signal_with_accumulator.
2040 And make it fully variadic.
2042 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2044 signal1/2/3/etc: Make this variadic.
2046 Though the separate generated signal1/2/3/etc still exist.
2048 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2050 signal1/2/3: Move T_accumulator to second position.
2052 Because it can't go at the end if we want to change the args to
2053 a variadic template pack.
2055 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2057 Remove useless SIGC_TYPEDEF_REDEFINE_ALLOWED
2059 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2061 signal.h.m4: Make signal_emit fully variadic.
2063 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2065 signal_emit1/2/3/etc: Simplify call_type typedef.
2067 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2069 signal.h.m4: signal_emit1/2/3/etc: Make this variadic.
2071 Though we still have the separate generated signal_emit1/2/3, etc.
2073 This is the first time that we need to use a tuple, and then
2074 std::index_sequence(), to call another method with the stored
2075 (in a tuple) parameter pack.
2077 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2079 signal.h.m4: signal_emit: Put the T_Accumulator before the args.
2081 So the args can be variadic eventually.
2083 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2085 test_disconnect: Use slot<> instead of slot1<>.
2087 Because we are trying to remove slot1,2,3, etc.
2089 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2091 slot.h.m4: Make slot1/2/3/etc variadic.
2093 While still having slot1/2/3/ themselves. This is lets us take
2094 another small step in the conversion to variadic templates.
2096 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2098 test_ptr_fun: Comment out what doesn't work with g++.
2100 We probably need to get this working, but it already works with
2101 clang++ (I'm using clang++ 3.7), so I'm just doing this for now,
2102 with TODO comments, so I can move forwards.
2103 I'm using g++ 5.2.1 .
2105 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2107 bind(): Make this variadic.
2109 Instead of generating many versions.
2111 bind_functor<> is not at all variadic yet.
2113 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2115 bind(): Move T_functor the start.
2117 This is different to the bind<number, ...> version but it's the only
2118 way to have a parameter pack at the end.
2119 Hopefully this version of bind() never needs to be called for specific
2122 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2124 C++14: bind(): Use decltype(auto) for the return type.
2126 This simplifies the code a bit.
2128 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2130 Rename deduce_result_type.h to adaptor_base.h
2132 Because that is all this file now contains.
2133 However, I suspect that we don't need adaptor_base at all now.
2135 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2137 C++14 Remove now-unused deduce_result_t.
2139 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2141 C++14: compose: Remove use of deduce_result_type.
2143 By removing use of SIGC_WORKAROUND_OPERATOR_PARENTHESES, which
2144 hopefully isn't necessary any more.
2146 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2148 C++14: operator(): Use decltype(auto) instead of deduce_result_type.
2150 So we can remove all the nasty deduce_result_type code,
2151 which is hard to make fully variadic in bind().
2153 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2157 By using the MM_AX_CXX_COMPILE_STDCXX() m4 macro that I just
2160 This lets us use std::integer_sequence (and std::index_sequence) with
2163 We probably also want to use decltype(auto) return types for template
2164 methods, as long as that doesn't slow down compile times.
2166 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2168 deduce_result_type.h: Remove comment about it being generated.
2170 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2172 adaptor_trait.h: Remove comment about it being generated.
2174 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2176 C++11: Replace sigc::ref() with std::ref().
2178 It seems to be remarkably similar.
2180 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2182 Remove (and replace) the _R_ and _P_ m4 macros.
2184 They just make it that little bit harder to convert the code to
2187 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2189 Remove (previously deprecated) lambda API.
2191 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2193 retype_functor: Make the slot version variadic.
2195 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2197 retype_functor: Make the pointer_functor version variadic.
2199 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2201 exception_catch.h: Use this as a normal .h file.
2203 Instead of generating it from a .h.m4 file.
2205 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2207 exception_catch_functor: Make this variadic.
2209 Instead of generating multiple overloads of operator().
2211 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2213 track_obj_functor1*(): Make operator() variadic.
2215 Instead of generating multiple overloads.
2217 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2219 retype_return.h: Use this as a normal .h file.
2221 Instead of generating it from a .h.m4 file.
2223 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2225 retype_return_functor: Make this variadic.
2227 Instead of generating 7 overloads of operator().
2229 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2231 compose.h: Use this as a normal .h file.
2233 Instead of generating it from a .h.m4 file.
2235 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2237 compose1_functor, compose2_functor: Make these variadic.
2239 Instead of using 7 arguments with void defaults, and instead of
2240 generating 7 overloads of operator().
2242 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2244 deduce_result_type.h: Use this as a regular .h file.
2246 Instead of generating it from a .h.m4 file.
2248 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2250 bind_return.h: Use this as a normal .h file.
2252 Instead of generating it from a .h.m4 file.
2254 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2256 bind_return_functor: operator(): Make this variadic.
2258 Instead of generating multiple overloads.
2260 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2262 adaptor_trait.h: Use this as a regular .h file.
2264 Instead of generating it from a .h.m4 file.
2266 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2268 adaptor_function: Make the operator() variadic.
2270 Instead of generating many overloads.
2272 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2274 adaptor_functor: Make deduce_result_type variadic.
2276 Instead of having all 7 arguments, defaulting to void.
2278 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2280 mem_fun.h.m4: Remove now-unnecessary LIST() calls.
2282 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2284 filelist.am: Mention ptr_fun.h.
2286 I forgot to do this when I changed this from a a .h.m4 file to a .h file.
2288 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2290 functor_trait.h: Use this as a normal header, not generated.
2292 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2294 functor_trait.h.m4: Use a variadic template instead of generating many.
2296 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2298 *mem_functor(): Remove the numbered versions, leaving just variadic ones.
2300 Do not generate *mem_functor0 through *mem_functor7. Instead just
2301 generate variadic *mem_functor<>.
2302 We do still generate mem_functor, const_mem_functor and
2303 const_volatile_mem_functor, which seems messy.
2305 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2307 ptr_fun.h: Use this as a normal header instead of generating it.
2309 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2311 test_ptr_fun: Fix the build, at least temporarily.
2313 See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c11
2315 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2317 C++11: ptr_fun.h: Replace generated ptr_fun1/2/3/etc with ptr_fun<>.
2319 Note that T_Return must now be the first parameter, so that the
2320 variadic template parameters may be trailing, and this means that
2321 the return type must now be specified if you specify any argument
2324 ptr_fun<type_arg1>(&somefunc)
2326 ptr_fun<void, type_arg2>(&somefunc)
2329 ptr_fun<type_arg1, type_return>(&somefunc)
2331 ptr_fun<type_return, type_arg1>(&somefunc)
2333 which might be an annoying API change, even though most people just
2336 However, this breaks the tests:
2338 test_ptr_fun.cc: In function ‘int main(int, char**)’:
2339 test_ptr_fun.cc:64:21: error: no matches converting function ‘foo’ to type ‘void (*)()’
2340 sigc::ptr_fun(&foo)();
2342 test_ptr_fun.cc:24:6: note: candidates are: void {anonymous}::foo(int)
2345 test_ptr_fun.cc:18:5: note: int {anonymous}::foo()
2349 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2351 C++11: ptr_fun.h: Replace generated pointer_functor1/2/3/etc with pointer_functor.
2353 Using C++11 variadic templates arguments.
2354 Note that T_Return is now the first template parameter, so that the variadic
2355 parameters can be the trailing parameters, as in std::function.
2357 2016-03-07 Murray Cumming <murrayc@murrayc.com>
2359 Fix tiny typo in a comment.
2361 2016-03-06 Murray Cumming <murrayc@murrayc.com>
2363 docs: Refer to it as libsigc++, not libsigc++2.
2365 2016-03-06 Murray Cumming <murrayc@murrayc.com>
2367 website/README: Mention the new git repository.
2369 2016-03-03 Murray Cumming <murrayc@murrayc.com>
2371 SIGC_CXX_HAS_SUN_REVERSE_ITERATOR: Add std:: now that I removed the using std.
2373 See https://bugzilla.gnome.org/show_bug.cgi?id=762065#c2
2375 2016-03-03 Murray Cumming <murrayc@murrayc.com>
2377 C++11: Make all operator bool() explicit.
2379 2016-03-03 Murray Cumming <murrayc@murrayc.com>
2381 Remove now-unnecessary SIGC_CXX_HAS_NAMESPACE_STD() configure check.
2383 Bug #762065 (Kjell Ahlstedt)
2385 2016-03-03 Murray Cumming <murrayc@murrayc.com>
2387 Remove unused SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION() configure check.
2389 Bug #762065 (Kjell Ahlstedt)
2391 2016-03-02 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2393 Improve the documentation of mem_fun()
2395 * sigc++/functors/macros/mem_fun.h.m4:
2396 * sigc++/functors/slot_base.h: Make it clear that mem_fun() does not return
2397 a slot, and 'auto s = sigc::mem_fun(....)' is not equivalent to
2398 'sigc::slot<....> s = sigc::mem_fun(....)'.
2399 The confusing documentation was noted by Andrejs Hanins on libsigc-list.
2401 2016-03-01 Murray Cumming <murrayc@murrayc.com>
2403 Add test_bind_as_slot.
2405 This tests sigc::bind()'s indirect use of adaptor_functor<>.
2406 I added this because this doesn't work yet in the variadic_bind branch.
2408 2016-03-01 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2412 2016-01-14 Murray Cumming <murrayc@murrayc.com>
2414 m4: Remove unused UPPER and LOWER functions.
2416 2016-01-14 Murray Cumming <murrayc@murrayc.com>
2418 tests: Use = delete instead of private constructors.
2420 To make classes non-copyable.
2422 2016-01-07 Murray Cumming <murrayc@murrayc.com>
2424 functor_trait.m4: Correct the mem_functor<> declarations.
2426 The first template types are T_return and T_obj, not the arguments.
2427 This doesn't seem to have been a problem. Maybe this code is not tested
2430 2015-12-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2432 Don't use SIGC_USING_STD()
2434 The SIGC_USING_STD() macro is defined as an empty string, if some standard
2435 C++ symbols are defined in namespace std. They always are.
2436 Since many years, SIGC_USING_STD() is an unnecessary macro.
2438 2015-12-16 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2440 Temporarily undefine the nil macro, if it's defined
2442 * build/cxx.m4: Add SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
2443 * configure.ac: Call SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
2444 * sigc++config.h.in: Add SIGC_PRAGMA_PUSH_POP_MACRO.
2445 * sigc++/functors/macros/functor_trait.h.m4:
2446 * sigc++/adaptors/macros/bind.h.m4:
2447 * sigc++/adaptors/macros/retype.h.m4:
2448 * sigc++/functors/macros/slot.h.m4:
2449 * sigc++/macros/signal.h.m4: If nil and SIGC_PRAGMA_PUSH_POP_MACRO are
2450 defined, undefine nil temporarily in the header files.
2451 nil is a keyword in Objective-C++ and in Mac OS X C++. Bug #695235.
2453 2015-12-15 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2455 can_deduce_result_type_with_decltype: Rename the check() methods
2457 * sigc++/functors/macros/functor_trait.h.m4: Rename the check() methods.
2458 check() is a preprocessor macro in Mac OS X. Bug #759315.
2460 2015-12-13 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2464 2015-11-16 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2466 Add a moving signal::connect() overload
2468 * sigc++/macros/signal.h.m4: Add signal#::connect(slot_type&&),
2469 slot_list::insert(iterator i, slot_type&&),
2470 slot_list::push_front(slot_type&&), push_back(slot_type&&).
2471 * sigc++/signal_base.[h|cc]: Add signal_base::connect(slot_base&&),
2472 signal_base::insert(slot_base&&), signal_impl::connect(slot_base&&),
2473 signal_impl::insert(slot_base&&). Bug #756484.
2475 2015-11-13 Murray Cumming <murrayc@murrayc.com>
2479 2015-11-12 Murray Cumming <murrayc@murrayc.com>
2481 Add warnings for use with --enable-warnings=fatal
2483 Added use -Wsuggest-override and -Wzero-as-null-pointer-constant.
2485 2015-11-10 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2487 trackable, slot_base, signal_base, connection: Add some noexcept specs
2489 2015-11-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2491 slot and signal: Add missing move constructors and move assignments
2493 * sigc++/functors/macros/slot.h.m4: Add move operators for slot<>.
2494 * sigc++/macros/signal.h.m4: Add move operators for signal#<> and signal<>.
2495 * tests/test_signal_move.cc:
2496 * tests/test_slot_move.cc: Test that the source objects are empty.
2499 2015-11-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2501 trackable, slot, signal: Remove noexcept specifications
2503 * sigc++/functors/macros/slot.h.m4:
2504 * sigc++/functors/slot_base.[h|cc]:
2505 * sigc++/signal_base.[h|cc]:
2506 * sigc++/trackable.[h|cc]: Remove noexcept from the move operators.
2509 2015-11-06 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2511 slot: Handle auto-disconnection when a slot contains a slot
2513 * sigc++/functors/macros/slot.h.m4: Add sigc::visitor<> specializations
2515 * tests/test_disconnect.cc: Test auto-disconnection of a slot that contains
2516 a slot. Bug #755003.
2518 2015-11-06 Murray Cumming <murrayc@murrayc.com>
2520 signal_impl: =delete copy and move operations.
2522 Prevent, copy and move constructors and assignment operators from
2523 being generated automatically. These are never used, but this
2524 will make sure of that.
2525 See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
2527 2015-11-06 Murray Cumming <murrayc@murrayc.com>
2529 typed_slot_rep: =delete unimplemented copy and move operations.
2531 Prevent, copy assignment operator, move constructor and move
2532 assignment operators from being generated automatically.
2533 These are never used, but this will make sure of that.
2534 See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
2536 2015-11-06 Murray Cumming <murrayc@murrayc.com>
2538 slot_rep: =delete copy and move operations.
2540 Prevent, copy and move constructors and assignment operators from
2541 being generated automatically. These are never used, but this
2542 will make sure of that.
2543 See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
2545 2015-11-06 Murray Cumming <murrayc@murrayc.com>
2547 Small whitespace changes in docs comment.
2549 2015-10-31 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2551 trackable: Add a comment
2553 2015-10-21 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2555 slot and signal: Fix move constructors and move assignments
2557 * sigc++/functors/macros/slot.h.m4: Add documentation.
2558 * sigc++/functors/slot_base.[h|cc]: Fix the move operators of slot_base.
2559 Don't move a connected slot.
2560 * sigc++/signal_base.cc: Fix the move assignment of signal_base.
2561 * tests/test_signal_move.cc:
2562 * tests/test_slot_move.cc: Really test move assignment. Bug #756484.
2564 2015-10-13 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2566 More use of nullptr instead of 0
2568 2015-10-11 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2570 slot_rep::disconnect(): Remove a comment, add a test
2572 * sigc++/functors/slot_base.cc: Remove a TODO comment at slot_rep::disconnect().
2573 * tests/test_slot_disconnect.cc: Add a test that assigns an empty slot.
2575 2015-09-29 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2577 Update sigc++/.gitignore
2579 2015-09-27 Murray Cumming <murrayc@murrayc.com>
2583 2015-09-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2585 sigc::trackable: Don't move the callback list
2587 * sigc++/trackable.[h|cc]: Don't move the callback list.
2588 * tests/test_trackable_move.cc: Remove a comment. Bug #755393.
2590 2015-09-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2592 Recreate adaptors/lambda files necessary not to break ABI
2594 * sigc++/adaptors/lambda/macros/base.h.m4:
2595 * sigc++/adaptors/lambda/macros/lambda.cc.m4:
2596 * sigc++/adaptors/lambda/macros/select.h.m4: Recreate these files.
2597 * sigc++/Makefile.am:
2598 * sigc++/filelist.am: Add the recreated lambda files.
2599 Approximately a reversion of commit a259b4c7a1753dbc389ee467fa536339ec820223,
2600 "Remove remaining parts of the sigc::lambda API."
2601 Differences from an exact reversion: MSVC_Net files are not modified.
2602 (Probably something ought to be changed in MSVC_Net2013.)
2603 tests/Makefile.am is not modified-
2604 is_base_and_derived<> is replaced by std::is_base_of<> in base.h.m4.
2605 The extern declarations that were previously in select.h.m4 are moved to
2606 lambda.cc.m4. Without them, sigc::_1 .. sigc::_7 are not included in
2608 All code in the header files are inside #ifndef DOXYGEN_SHOULD_SKIP_THIS.
2611 2015-09-21 Murray Cumming <murrayc@murrayc.com>
2615 2015-09-17 Murray Cumming <murrayc@murrayc.com>
2617 C++11: deduce_result_type: Simpifying, removing use of std::is_same().
2619 See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c9
2621 2015-09-17 Marcin Kolny <marcin.kolny@gmail.com>
2623 C++11: deduce_result_type: build fix, using SFINAE paradigm.
2627 2015-09-17 Murray Cumming <murrayc@murrayc.com>
2629 C++11: deduce_result_type: Simplify with variadic template and std::conditional<>.
2632 However, the build then fails like so:
2634 make[2]: Entering directory '/home/murrayc/checkout/gnome/libsigc++2/examples'
2635 g++ -DHAVE_CONFIG_H -I.. -I.. -pedantic -Wall -Wextra -Wshadow -Wformat-security -Werror -Wall -g -O0 -std=c++11 -MT hello_world.o -MD -MP -MF .deps/hello_world.Tpo -c -o hello_world.o hello_world.cc
2636 In file included from ../sigc++/adaptors/adaptor_trait.h:10:0,
2637 from ../sigc++/functors/slot.h:7,
2638 from ../sigc++/signal_base.h:27,
2639 from ../sigc++/signal.h:8,
2640 from ../sigc++/sigc++.h:86,
2641 from hello_world.cc:10:
2642 ../sigc++/adaptors/deduce_result_type.h: In instantiation of ‘struct sigc::deduce_result_type<sigc::pointer_functor1<const std::basic_string<char>&, void>, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void, void, void, void, void, void>’:
2643 ../sigc++/adaptors/deduce_result_type.h:60:80: required by substitution of ‘template<class T_functor, class ... T_args> using deduce_result_t = typename sigc::deduce_result_type::type [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_args = {const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void, void, void, void, void, void}]’
2644 ../sigc++/adaptors/adaptor_trait.h:67:104: required from ‘struct sigc::adaptor_functor<sigc::pointer_functor1<const std::basic_string<char>&, void> >::deduce_result_type<const std::basic_string<char>&, void, void, void, void, void, void>’
2645 ../sigc++/adaptors/adaptor_trait.h:88:3: required by substitution of ‘template<class T_arg1> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1) const [with T_arg1 = const std::basic_string<char>&]’
2646 ../sigc++/functors/slot.h:137:20: required from ‘static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, sigc::type_trait_take_t<T_arg3>) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::type_trait_take_t<T_arg3> = const std::basic_string<char>&]’
2647 ../sigc++/functors/slot.h:144:37: required from ‘static void* (* sigc::internal::slot_call1<T_functor, T_return, T_arg1>::address())(void*) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::internal::hook = void* (*)(void*)]’
2648 ../sigc++/functors/slot.h:529:91: required from ‘sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
2649 ../sigc++/functors/slot.h:1161:26: required from ‘sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
2650 hello_world.cc:25:50: required from here
2651 ../sigc++/adaptors/deduce_result_type.h:56:12: error: no class template named ‘deduce_result_type’ in ‘class sigc::pointer_functor1<const std::basic_string<char>&, void>’
2654 In file included from ../sigc++/signal_base.h:27:0,
2655 from ../sigc++/signal.h:8,
2656 from ../sigc++/sigc++.h:86,
2657 from hello_world.cc:10:
2658 ../sigc++/functors/slot.h: In instantiation of ‘static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, sigc::type_trait_take_t<T_arg3>) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::type_trait_take_t<T_arg3> = const std::basic_string<char>&]’:
2659 ../sigc++/functors/slot.h:144:37: required from ‘static void* (* sigc::internal::slot_call1<T_functor, T_return, T_arg1>::address())(void*) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::internal::hook = void* (*)(void*)]’
2660 ../sigc++/functors/slot.h:529:91: required from ‘sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
2661 ../sigc++/functors/slot.h:1161:26: required from ‘sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
2662 hello_world.cc:25:50: required from here
2663 ../sigc++/functors/slot.h:137:20: error: no matching function for call to ‘sigc::adaptor_functor<sigc::pointer_functor1<const std::basic_string<char>&, void> >::operator()(const std::basic_string<char>&)’
2666 ../sigc++/functors/slot.h:137:20: note: candidates are:
2667 In file included from ../sigc++/functors/slot.h:7:0,
2668 from ../sigc++/signal_base.h:27,
2669 from ../sigc++/signal.h:8,
2670 from ../sigc++/sigc++.h:86,
2671 from hello_world.cc:10:
2672 ../sigc++/adaptors/adaptor_trait.h:88:3: note: template<class T_arg1> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1) const [with T_arg1 = T_arg1; T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>]
2673 operator()(T_arg1 _A_arg1) const
2675 ../sigc++/adaptors/adaptor_trait.h:88:3: note: substitution of deduced template arguments resulted in errors seen above
2676 ../sigc++/adaptors/adaptor_trait.h:107:3: note: template<class T_arg1, class T_arg2> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1, T_arg2>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1, T_arg2) const [with T_arg1 = T_arg1; T_arg2 = T_arg2; T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>]
2677 operator()(T_arg1 _A_arg1, T_arg2 _A_arg2) const
2679 ../sigc++/adaptors/adaptor_trait.h:107:3: note: template argument deduction/substitution failed:
2680 In file included from ../sigc++/signal_base.h:27:0,
2681 from ../sigc++/signal.h:8,
2682 from ../sigc++/sigc++.h:86,
2683 from hello_world.cc:10:
2684 ../sigc++/functors/slot.h:137:20: note: candidate expects 2 arguments, 1 provided
2688 2015-09-11 Chun-wei Fan <fanchunwei@src.gnome.org>
2690 MSVC Builds: Add "Install" Project
2692 This makes building the -mm stack easier by copying the headers and the
2693 built DLL, PDB and LIB files to a location where it can be picked up by
2694 the gtkmm stack automatically, when they are extracted in a common
2695 directory. This is what is currently done with the GTK+ and Clutter
2696 stacks for Visual Studio builds.
2698 2015-09-09 Chun-wei Fan <fanchunwei@src.gnome.org>
2700 Update README on Visual Studio Builds
2702 Since the Visual Studio project files and the related sources have been
2703 updated to work with Visual Studio 2013, and that the test programs do
2704 run well there, update the README file to let people know the situation.
2706 https://bugzilla.gnome.org/show_bug.cgi?id=754082
2708 2015-09-09 Chun-wei Fan <fanchunwei@src.gnome.org>
2710 sigc++config.h.in: Allow Build for MSVC 2013
2712 MSVC 2013 does not have the C++-11 noexcept, so we need to define that to
2713 _NOEXCEPT for MSVC 2013. Plus, since by default MSVC 2013 does not allow
2714 us to re-define keywords, though they may or may not be supported, we need
2715 to use the _ALLOW_KEYWORD_MACROS macro to allow this to happen.
2717 https://bugzilla.gnome.org/show_bug.cgi?id=754082
2719 2015-09-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2721 Update source of web page
2723 * docs/website/fragments/footer.html_fragment:
2724 * docs/website/fragments/html_declaration.html_fragment:
2725 * docs/website/devel.shtml:
2726 * docs/website/doc.shtml:
2727 * docs/website/index.shtml:
2728 * docs/website/link.shtml:
2729 * docs/website/stable.shtml: Fix or remove broken links. Remove the lists of
2730 supported compilers. Mention that a C++11 compiler is required and that
2731 support for lambdas has been removed. Bug #754082.
2733 2015-09-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2737 2015-09-03 Murray Cumming <murrayc@murrayc.com>
2741 2015-09-03 Murray Cumming <murrayc@murrayc.com>
2743 Update tests/.gitignore
2745 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
2747 MSVC Builds: Use Windows Line Endings for .sln
2749 The .sln files need to have Windows/DOS line endings to work properly so
2750 that Windows can detect the Visual Studio version of the solution file.
2752 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
2754 MSVC Builds: Add Forgotten Files
2756 The MSVC projects now use property sheets, but they were forgotten from
2757 dist in the previous commits. Dist them... sorry!
2759 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
2761 MSVC Builds: Remove MSVC 2005 and 2008 projects
2763 They are now unable to build libsigc++ at all, so drop them.
2765 https://bugzilla.gnome.org/show_bug.cgi?id=754082
2767 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
2769 MSVC Builds: Rename MSVC_Net2010/ to MSVC_Net2013/
2771 Since libsigc++ now requires MSVC 2013 to build, the MSVC_Net2010 directory
2772 needs to be renamed to MSVC_Net2013, so that people will not be confused on
2773 what MSVC version is needed to build libsigc++. Also remove MSVC_Net2005
2774 and MSVC_Net2008 from the distribution, as they are no longer able to build
2777 https://bugzilla.gnome.org/show_bug.cgi?id=754082
2779 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2781 signal_base, trackable: Make move operations noexcept.
2783 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2785 Added test_signal_move.
2789 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2791 Added test_slot_move
2793 This seems to do what it should, acting much like regular slot copying.
2795 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2797 Add test_trackable_move.
2799 It doesn't segfault, but I'm not sure it's doing what it should.
2802 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2804 trackable: move constructor: null the src.
2806 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2808 trackable: move assignment operator: null the src.
2810 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2812 C++11: signal_base: Add move operations.
2814 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2816 trackable: Add missing operator=(&&) implementation.
2818 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2820 trackable: Add move operations.
2822 Also adding them to trackable_callback_list and makeing
2823 trackable_callback_list noncopyable, which I think is intended.
2825 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2827 C++11: slot*: Add move operations.
2829 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2831 C++11 slot_base: Add move operations.
2833 Improvements welcome.
2835 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2837 slot_base::operator=(const &): Copy blocked_ too.
2841 then a will be blocked if b was blocked. Otherwise it depends on
2842 whether a was blocked, which seems odd.
2844 If this is not the intended behaviour then we need a comment about it
2845 in operator=() and a test.
2847 2015-09-01 Murray Cumming <murrayc@murrayc.com>
2851 2015-08-31 Chun-wei Fan <fanchunwei@src.gnome.org>
2853 MSVC Projects: Overhaul The Projects
2855 The former MSVC 2010 (2012) projects carried over quite a bit of cruft from
2856 the Visual Studio 2003 days, and there are a number of items that could be
2857 consolidated into ptoperty sheets, so it's time that the projects get a
2858 clean up and overhaul. This is not unlike what was done to the glibmm
2859 projects some time ago.
2861 Consolidate the projects all into MSVC_Net2010, without subdirectories, as
2862 the property sheets will separate the object files of the various projects
2863 into their own places.
2865 This will also likely enable us to support MSVC 2015 in a more efficient
2868 Also, move the projects configs to MSVC 2013, as that is now the minimum
2869 version of MSVC required to build sigc++.
2871 2015-08-14 Murray Cumming <murrayc@murrayc.com>
2873 deduce_result_t: Add initial T_return template parameter.
2875 To make it clearer that this is how to use it.
2877 2015-08-14 Murray Cumming <murrayc@murrayc.com>
2879 tests: Use sigc::deduce_result_t<> instead of deduce_result_type<>::type.
2881 This removes the last use of sigc::deduce_result_type<>, allowing
2882 us to change the implementation of sigc::deduce_result_t more easily.
2884 2015-08-14 Murray Cumming <murrayc@murrayc.com>
2886 exception_catch.h: Generate deduce_result_type for the void specializations too.
2888 I guess this is correct and test_exception_catch still passes.
2889 Without this, it's actually using, for instance:
2890 sigc::deduce_result_type<T_arg1, T_Arg2>
2891 even though sigc::deduce_result_type<> should really be called with a result type
2893 sigc::deduce_result_type<T_return, T_arg1, T_Arg2>
2895 Explicitly changing it to use
2896 sigc::deduce_result_type<T_return, T_Arg1, T_Arg2>
2898 sigc::deduce_result_type<T_Arg1, T_Arg2>
2900 deduce_result_type<T_Arg1, T_Arg2>
2901 doesn't seem to break things either, probably out of luck,
2902 but changing it to define a type that it actually seems to expect seems
2903 cleaner, and makes it easier for us to change sigc::deduce_result_type.
2905 2015-08-13 Murray Cumming <murrayc@murrayc.com>
2907 C++11: deduce_result_type.h: Add and use a deduce_result_t<> alias.
2909 This simplifies the code a bit, by replacing use of this:
2910 typename deduce_result_type<SomeType1, SomeType2>::type
2912 deduce_result_t<SomeType1, SomeType2>
2914 Note that the alias is a C++11 variadic template.
2917 2015-08-13 Murray Cumming <murrayc@murrayc.com>
2919 type_traits.h: Remove the unused type and pointer types.
2921 These were apparently never used.
2924 2015-08-13 Murray Cumming <murrayc@murrayc.com>
2926 type_trait: Define and use type_trait_pass/take_t aliases.
2928 This simplifies the code a bit, by replacing use of this:
2929 typename type_trait<SomeType>::take
2931 type_trait_take_t<SomeType>
2934 2015-08-13 Murray Cumming <murrayc@murrayc.com>
2938 2015-08-13 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2940 Remove the sigc++/object.h header
2942 Because it now contains no API.
2943 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2945 2015-08-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2947 Update sigc++/.gitignore
2949 2015-08-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2951 Store sigc++/slot.h in git, don't generate it from m4
2953 * sigc++/macros/slot.h.m4: Remove.
2954 * sigc++/slot.h: New in git.
2955 * sigc++/filelist.am: Replace sigc++/macros/slot.h.m4 by sigc++/slot.h.
2956 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2958 2015-08-12 Murray Cumming <murrayc@murrayc.com>
2960 Remove the (generated) sigc++/hide.h header.
2962 Because it now contains no API.
2963 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2965 The generated sigc++/hide file did not include sigc++/adaptors/hide.h
2966 so it did not exist as a convenience.
2968 2015-08-12 Murray Cumming <murrayc@murrayc.com>
2970 Remove the (generated) sigc++/retype.h header.
2972 Because it now contains no API.
2973 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2975 sigc++/macros/retype_h.m4 did define some m4 macros but these were
2976 not actually used. The generated sigc++/retype.h file did not
2977 include sigc++/adaptors/retype.h so it did not exist as a convenience.
2979 2015-08-12 Murray Cumming <murrayc@murrayc.com>
2981 Remove the (generated) sigc++/object_slot.h header.
2983 Because it now contains no API.
2984 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2986 2015-08-12 Murray Cumming <murrayc@murrayc.com>
2988 Remove the (generated) method_slot.h header.
2990 Because it now contains no API.
2991 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2993 2015-08-12 Murray Cumming <murrayc@murrayc.com>
2995 Remove the (generated) class_slot.h header.
2997 Because it now contains no API.
2998 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
3000 2015-08-04 Chun-wei Fan <fanchunwei@src.gnome.org>
3002 Visual Studio Builds: Move 2010 Projects to 2012
3004 Since the builds of the *mm stack are going to use C++11, this means that
3005 we can't build libsigc++ with MSVC 2005~2010 anymore, so we need to update
3006 the Visual Studio project files to version 2012 (11.0), so that we can
3007 still support building with Visual Studio, as it does support enough of
3008 C++11 features that is needed.
3010 Also clean up a little bit by dropping some of the unneeded items from the
3011 projects and solution files.
3013 These project files are clearly going to need more cleanup, and we should
3014 drop the MSVC_Net2005 and MSVC_Net2008 folders, and rename MSVC_Net2010 to
3015 MSVC_Net2012, but this commit will ensure that libsigc++ is indeed still
3016 buildable with Visual Studio, and we can support Visual Studio 2013 and
3017 2015 in a more efficient manner.
3019 2015-08-03 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3021 C++11: Replace deprecated std::auto_ptr by std::unique_ptr
3023 2015-07-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3025 C++11: visit_each_type<>(): Another check for the same type
3027 The rest of my suggested additions in bug 752560 comment 3.
3028 The #include <type_traits> are necessary, if header files are included
3029 one-by-one, and not via #include <sigc++/sigc++.h>.
3031 2015-07-25 Murray Cumming <murrayc@murrayc.com>
3033 C++11: visit_each<>: Check for the same type as well as the base.
3035 As suggested by Kjell Ahlstedt here:
3036 https://bugzilla.gnome.org/show_bug.cgi?id=752560#c3
3038 This fixes the test cases.
3040 2015-07-25 Murray Cumming <murrayc@murrayc.com>
3042 C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
3044 As suggested by Kjell's comment here:
3045 https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
3046 This also removes sigc::is_base_and_derived<> which should cause
3047 only a slight API change but no ABI change.
3051 2015-07-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3053 Update README, remove TODO
3055 * README: Remove lambda from the list of directories.
3056 Remove the list of compatible compilers. It has become obsolete now that
3057 libsigc++ uses C++11 features.
3058 * TODO: Remove. It's obsolete. TODO comments are now scattered in
3061 2015-07-18 Murray Cumming <murrayc@murrayc.com>
3063 C++11: Use of range-based for loops.
3065 2015-07-18 Murray Cumming <murrayc@murrayc.com>
3067 C++11: More use of auto.
3069 2015-07-18 Murray Cumming <murrayc@murrayc.com>
3073 Trying to avoid using auto where its a specific type that we are
3076 2015-07-18 Murray Cumming <murrayc@murrayc.com>
3078 Use -Wformat-security with --enable-warnings=fatal.
3080 Because we use it in glibmm already. No code changes were necessary.
3082 2015-07-18 Murray Cumming <murrayc@murrayc.com>
3084 Use -Wshadow with --enable-warnings=fatal.
3086 2015-07-18 Murray Cumming <murrayc@murrayc.com>
3088 Revert "C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>."
3090 This reverts commit bf89034e116d4d9eb761ceb4597c69f0f2b9c597.
3091 I didn't meat to push that quite yet.
3093 2015-07-18 Murray Cumming <murrayc@murrayc.com>
3095 C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
3097 As suggested by Kjell's comment here:
3098 https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
3099 This also removes sigc::is_base_and_derived<> which should cause
3100 only a slight API change but no ABI change.
3102 2015-07-18 Murray Cumming <murrayc@murrayc.com>
3104 C++11: Use of nullptr instead of 0.
3106 2015-07-18 Murray Cumming <murrayc@murrayc.com>
3112 2015-07-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3114 Require mm-common 0.9.8
3116 2015-07-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3118 Remove remaining parts of the sigc::lambda documentation
3120 * docs/index.html: Remove link to group__lambdas.html.
3121 * sigc++/adaptors/macros/bind.h.m4:
3122 * sigc++/adaptors/macros/compose.h.m4:
3123 * sigc++/adaptors/macros/hide.h.m4: Remove talk of sigc::group().
3124 * sigc++/.gitignore:
3125 * tests/.gitignore: Remove files that are no longer generated. Bug #672555.
3127 2015-07-17 Murray Cumming <murrayc@murrayc.com>
3129 Remove remaining parts of the sigc::lambda API.
3131 The remaining API, defined in a .cc file, does not actually end up
3132 being used by applications, so we can safely remove it.
3133 See https://bugzilla.gnome.org/show_bug.cgi?id=672555#c21
3135 2015-07-17 Murray Cumming <murrayc@murrayc.com>
3137 Remove deprecated sigc::lambda API that is only in headers.
3139 So this is an API removal (of deprecated API) but not an ABI change.
3140 The remaining deprecated API in the headers is needed by the definitions
3144 2015-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3146 C++11: Avoid the need for SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
3148 * sigc++/adaptors/lambda/macros/base.h.m4:
3149 * sigc++/adaptors/lambda/macros/group.h.m4:
3150 * sigc++/adaptors/macros/track_obj.h.m4:
3151 * sigc++/macros/signal.h.m4: Remove all talk about
3152 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
3153 * sigc++/functors/slot_base.h: Mentioned that
3154 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE is not needed any more.
3155 * tests/test_cpp11_lambda.cc:
3156 * tests/test_track_obj.cc: Remove calls to
3157 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE and tests for C++11 capability.
3158 * sigc++/functors/macros/functor_trait.h.m4: Add class
3159 can_deduce_result_type_with_decltype<>. Use it as default value for the new
3160 template parameter I_can_use_decltype in struct functor_trait<>.
3162 Murray Cumming made the changes of all files except functor_trait.h.m4.
3164 2015-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3168 * configure.ac: Use MM_AX_CXX_COMPILE_STDCXX_11 to check for compiler
3169 support for C++11 and use it (--std=c++11 for current versions of
3172 2015-02-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3176 2015-02-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3178 Docs: Update for Doxygen 1.8.9
3180 * docs/reference/Doxyfile.in: Update for Doxygen 1.8.9.
3182 2014-10-23 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3184 Tests: Improve test_disconnect_during_emit
3186 * tests/test_disconnect_during_emit.cc: Test that the slot is really
3187 disconnected during signal emission.
3189 2014-10-23 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3191 slot_base: Let the assignment operator destroy the slot
3193 * sigc++/functors/slot_base.cc: slot_base's assignment operator shall
3194 destroy the old slot_rep even if the assigned slot is empty. Bug #738602.
3196 2014-09-15 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3200 2014-09-15 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3202 Docs: Use doxygen-extra.css
3204 * configure.ac: Require mm-common 0.9.7.
3205 * docs/.gitignore: Ignore doxygen-extra.css.
3206 * docs/reference/Doxyfile.in: Use doxygen-extra.css instead of doxygen.css.
3208 2014-09-11 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3210 doap: Add <description>
3212 2014-08-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3214 test_lambda: Fix for MS Visual C++ 2013
3216 * tests/test_lambda.cc: Don't rely on implicit conversion from std::ostream
3217 to bool. Instead, hide a problematic slot return type with sigc::hide_return().
3220 2014-08-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3222 Add an include in limit_reference.h
3224 * sigc++/macros/limit_reference.h.m4: limit_reference.h must include
3225 visit_each.h, with the primary definition of template struct visitor.
3226 https://mail.gnome.org/archives/libsigc-list/2014-August/msg00001.html
3228 2014-08-01 Andre Klapper <a9016009@gmx.de>
3230 doap: add <programming-language>
3232 2014-08-01 Olav Vitters <olav@vitters.nl>
3234 doap: link tarball name and git module
3236 2014-07-31 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3240 2014-07-31 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3242 Remove .gitattributes
3244 * .gitattributes: Instructed git to use a custom merge function for
3245 merging ChangeLog. Might have been useful, but it's not any more.
3247 2014-07-30 Olav Vitters <olav@vitters.nl>
3251 2014-07-29 Ryan Beasley <rbeasley@vmware.com>
3253 Tests: Enable C++11 lambda expressions with MS Visual Studio 2012 and later
3255 * tests/test_cpp11_lambda.cc:
3256 * tests/test_track_obj.cc: Compile C++11 lambda expressions if
3257 _MSC_VER >= 1700. Bug #733752.
3259 2014-07-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3261 Documentation: Emphasize that signals are ref counted
3263 * sigc++/signal_base.h: Emphasize that a sigc::signal holds a pointer to
3264 a ref counted signal_impl. Bug #611941.
3266 2014-07-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3268 Add test_visit_each to MSVC_Net2010
3270 * MSVC_Net2010/filelist.am: Add new project files.
3271 * MSVC_Net2010/libsigc++2.sln: Add new project.
3272 * MSVC_Net2010/tests/test_visit_each/: New test case. Bug #724496.
3274 2014-07-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3276 Tests: Add test_visit_each
3279 * tests/Makefile.am: Add test_visit_each.
3280 * tests/test_visit_each.cc: New file. Bug #724496.
3282 2014-07-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3284 Replace visit_each() overloads by struct visitor<>
3286 Note: This patch breaks API for some users, but it does not break ABI.
3287 Only users who have added their own visit_each() overloads are affected by
3288 the API break. Their programs will still compile, but there will be run-time
3289 errors, if they rely on auto-disconnection of slots.
3290 Updated instructions for users who implement their own adaptors are found in
3291 the description of sigc::adapts<>.
3293 * sigc++/adaptors/bound_argument.h:
3294 * sigc++/adaptors/macros/adaptor_trait.h.m4:
3295 * sigc++/adaptors/macros/bind.h.m4:
3296 * sigc++/adaptors/macros/bind_return.h.m4:
3297 * sigc++/adaptors/macros/compose.h.m4:
3298 * sigc++/adaptors/macros/exception_catch.h.m4:
3299 * sigc++/adaptors/macros/hide.h.m4:
3300 * sigc++/adaptors/macros/retype.h.m4:
3301 * sigc++/adaptors/macros/retype_return.h.m4:
3302 * sigc++/adaptors/macros/track_obj.h.m4:
3303 * sigc++/adaptors/lambda/macros/base.h.m4:
3304 * sigc++/adaptors/lambda/macros/group.h.m4:
3305 * sigc++/adaptors/lambda/macros/operator.h.m4:
3306 * sigc++/functors/macros/mem_fun.h.m4:
3307 * sigc++/macros/limit_reference.h.m4:
3308 * sigc++/visit_each.h: Replace overloads of visit_each<>() by
3309 specializations of struct visitor<> with a specialized member function
3310 do_visit_each<>(). Qualify all calls to visit_each() with sigc:: to avoid
3311 argument-dependent lookup.
3312 * sigc++/functors/macros/slot.h.m4: Qualify the calls to visit_each_type()
3313 with sigc:: to avoid argument-dependent lookup.
3314 * tests/test_functor_trait.cc: Fix the expected result now when the test
3316 Thanks to Ryan Beasley <rbeasley@vmware.com>, bug #724496.
3318 2014-07-25 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3320 signal_impl::notify(): Don't delete signal_impl during erase()
3322 * sigc++/signal_base.cc: signal_impl::notify() and sweep(): Don't delete
3323 signal_impl while its slot list is being manipulated. Without this fix,
3324 tests/test_bind_refptr crashes in MS Visual C++ in debug mode.
3325 The behaviour without the fix is risky, and shall be avoided. Bug #564005.
3327 2014-07-24 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3329 Update the signal_impl::notify() documentation
3331 * sigc++/signal_base.h: Update the signal_impl::notify() documentation.
3332 It should have been updated when notify() was updated. Bug #167714.
3334 2014-07-24 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3336 Add a maintainer in the DOAP file
3338 2014-07-18 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3342 * MSVC_Net2010/filelist.am: Add new project files.
3343 * MSVC_Net2010/libsigc++2.sln: Add new projects.
3344 * MSVC_Net2010/libsigc++2.vcxproj.filters:
3345 * MSVC_Net2010/libsigc++2.vcxproj: Update the list of header files.
3346 * MSVC_Net2010/tests/test_*/test_*.vcxproj.filters:
3347 * MSVC_Net2010/tests/test_*/test_*.vcxproj: Add testutilities.[h|cc].
3348 * MSVC_Net2010/tests/test_accum_iter/:
3349 * MSVC_Net2010/tests/test_bind_ref/:
3350 * MSVC_Net2010/tests/test_bind_refptr/:
3351 * MSVC_Net2010/tests/test_copy_invalid_slot/:
3352 * MSVC_Net2010/tests/test_cpp11_lambda/:
3353 * MSVC_Net2010/tests/test_custom/:
3354 * MSVC_Net2010/tests/test_lambda/:
3355 * MSVC_Net2010/tests/test_limit_reference/:
3356 * MSVC_Net2010/tests/test_slot_disconnect/:
3357 * MSVC_Net2010/tests/test_track_obj/: New test case projects. Bug #724496.
3359 2014-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3361 Fix 'make check' with clang++ and --enable-warnings=fatal
3363 * tests/test_cpp11_lambda.cc:
3364 * tests/test_deduce_result_type.cc:
3365 * tests/test_track_obj.cc: Don't define functions which are not used.
3366 The clang++ compiler considers unused functions an error, when libsigc++ is
3367 configured with --enable-warnings=fatal. Bug #724496.
3369 2013-10-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3371 Documentation: Talk less about std::function
3373 * sigc++/functors/macros/slot.h.m4:
3374 * sigc++/functors/slot_base.h: Remove the examples with std::function.
3375 Add an example with a C++11 lambda expression.
3376 https://mail.gnome.org/archives/libsigc-list/2013-October/msg00003.html
3378 2013-10-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3380 Update .gitignore files
3383 * tests/.gitignore: Ignore files generated by automake 1.13 and 'make check'.
3385 2013-10-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3387 Documentation: Mention std::function and std::bind() in more comments
3389 * sigc++/functors/macros/functor_trait.h.m4: Mention that
3390 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE does not support functors
3391 with overloaded operator()().
3392 * sigc++/adaptors/macros/track_obj.h.m4:
3393 * sigc++/functors/macros/slot.h.m4:
3394 * sigc++/functors/slot_base.h:
3395 * sigc++/signal_base.h: Mention std::function as an alternative to
3397 * sigc++/macros/signal.h.m4: connect(): Describe why the result of
3398 std::bind() can't be connected directly to a signal.
3400 2013-10-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3402 Fix test_cpp11_lambda for gcc 4.8
3404 * tests/test_cpp11_lambda.cc: Remove an unneccesary std::ref().
3405 Show that std::bind() can be assigned to a slot, if it's combined with
3408 2013-07-30 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3410 signal_base, signal_impl: Speed up disconnection of slots.
3412 * sigc++/signal_base.cc: Tell signal_impl::notify() which slot is being
3413 disconnected. Execution time is then usually O(1) instead of O(n), where n
3414 is the size of the slot list. Disconnect all connected slots when a signal is
3415 deleted. Disconnect slots before they are erased from a signal's slot list.
3418 2013-07-03 José Alburquerque <jaalburquerque@gmail.com>
3420 Move to a generated ChangeLog.
3422 2013-07-02 José Alburquerque <jaalburquerque@gmail.com>
3424 Auto-generate the ChangeLog from the git log for 'make dist'.
3426 * Makefile.am: Include the dist-changelog.am file copied in build/
3427 from mm-common so that the ChangeLog is automatically generated from
3428 the git commit messages on 'make dist'.
3430 2013-05-01 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3432 Don't use __file__ in the FIREWALL m4 macro.
3434 * sigc++/adaptors/lambda/macros/group.h.m4:
3435 * sigc++/adaptors/macros/*.h.m4:
3436 * sigc++/functors/macros/*.h.m4:
3437 * sigc++/macros/class_slot.h.m4:
3438 * sigc++/macros/hide.h.m4:
3439 * sigc++/macros/limit_reference.h.m4:
3440 * sigc++/macros/method_slot.h.m4:
3441 * sigc++/macros/retype.h.m4:
3442 * sigc++/macros/slot.h.m4: Replace __FIREWALL__ with _FIREWALL(filename).
3443 * sigc++/macros/template.macros.m4: Replace __FIREWALL__ with _FIREWALL,
3444 taking a parameter. Don't use __file__ to generate the name of the C++
3445 preprocessor macro. __file__ may expand to an absolute path, containing
3446 almost all sorts of special characters and being excessively long.
3449 2013-04-11 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3451 Use DOXYGEN_SHOULD_SKIP_THIS consistently.
3453 * docs/reference/Doxyfile.in: EXTRACT_ALL=YES, like in most mm packages.
3454 * sigc++/sigc++.h: Mention that the reference manual contains only some of
3455 the template specializations.
3456 * sigc++/adaptors/bound_argument.h:
3457 * sigc++/adaptors/lambda/macros/base.h.m4:
3458 * sigc++/adaptors/lambda/macros/group.h.m4:
3459 * sigc++/adaptors/macros/adaptor_trait.h.m4:
3460 * sigc++/adaptors/macros/bind.h.m4:
3461 * sigc++/adaptors/macros/bind_return.h.m4:
3462 * sigc++/adaptors/macros/compose.h.m4:
3463 * sigc++/adaptors/macros/deduce_result_type.h.m4:
3464 * sigc++/adaptors/macros/exception_catch.h.m4:
3465 * sigc++/adaptors/macros/hide.h.m4:
3466 * sigc++/adaptors/macros/retype.h.m4:
3467 * sigc++/adaptors/macros/retype_return.h.m4:
3468 * sigc++/adaptors/macros/track_obj.h.m4:
3469 * sigc++/functors/macros/functor_trait.h.m4:
3470 * sigc++/functors/macros/mem_fun.h.m4:
3471 * sigc++/macros/limit_reference.h.m4:
3472 * sigc++/type_traits.h:
3473 * sigc++/visit_each.h: Use DOXYGEN_SHOULD_SKIP_THIS to mark what Doxygen
3476 2013-03-20 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3478 Suppress erroneous links in documentation.
3480 * sigc++/adaptors/lambda/macros/base.h.m4:
3481 * sigc++/adaptors/lambda/macros/group.h.m4:
3482 * sigc++/adaptors/lambda/macros/select.h.m4: Doxygen links std::bind to
3483 sigc::bind. Suppress these links. No link is better than the wrong link.
3485 2013-03-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3487 Deprecate libsigc++ lambdas, sigc::group(), sigc::var().
3489 * configure.ac: Add MM_ARG_DISABLE_DEPRECATED_API(SIGCXX).
3490 * sigc++/adaptors/lambda/macros/base.h.m4:
3491 * sigc++/adaptors/lambda/macros/group.h.m4:
3492 * sigc++/adaptors/lambda/macros/lambda.cc.m4:
3493 * sigc++/adaptors/lambda/macros/operator.h.m4:
3494 * sigc++/adaptors/lambda/macros/select.h.m4: Deprecate everything.
3495 * sigc++/macros/template.macros.m4: Add deprecation macros.
3496 * sigc++config.h.in: Add #undef SIGCXX_DISABLE_DEPRECATED.
3497 * tests/test_lambda.cc: Skip test if SIGCXX_DISABLE_DEPRECATED is defined.
3500 2013-02-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3502 Add track_obj() and test_track_obj.
3504 * sigc++/.gitignore: Add adaptors/track_obj.h.
3505 * sigc++/adaptors/adaptors.h: Add sigc++/adaptors/track_obj.h.
3506 * sigc++/adaptors/lambda/macros/group.h.m4:
3507 * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention track_obj() in the
3509 * sigc++/adaptors/macros/track_obj.h.m4: New file.
3510 * sigc++/filelist.am: Add track_obj.h.m4 and track_obj.h.
3512 * tests/Makefile.am: Add test_track_obj.
3513 * tests/test_cpp11_lambda.cc: Use track_obj() to test auto-disconnection.
3514 * tests/test_track_obj.cc: New test case.
3517 2013-01-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3519 Documentation: Fix many warnings from Doxygen.
3521 * configure.ac: Require mm-common 0.9.6 or later.
3522 * docs/reference/Doxyfile.in: Don't warn for undocumented classes and structs.
3523 * sigc++/adaptors/macros/bind.h.m4:
3524 * sigc++/adaptors/macros/bind_return.h.m4:
3525 * sigc++/adaptors/macros/compose.h.m4:
3526 * sigc++/adaptors/macros/hide.h.m4:
3527 * sigc++/connection.h:
3528 * sigc++/macros/limit_reference.h.m4: Make all parameter names in @param
3529 commands equal to the corresponding names in the function declarations.
3530 * sigc++/signal_base.h: Remove an extraneous period that confuses Doxygen.
3531 * sigc++/type_traits.h: Add a missing @code/@endcode pair.
3533 2012-10-18 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3535 Test cases: Report pass/fail with exit status.
3537 * tests/testutilities.[h|cc]: New files. Code common to all test cases.
3538 * tests/*.cc: Use class TestUtilities. Don't print anything
3539 if the test passes. Return EXIT_FAILURE if the test fails.
3540 * tests/Makefile.am: Add testutilities.[h|cc] to all test cases.
3543 2012-10-18 Murray Cumming <murrayc@murrayc.com>
3547 2012-10-18 Murray Cumming <murrayc@murrayc.com>
3549 Update the Doxyfile.in syntax.
3551 * docs/reference/Doxyfile.in: By running doxygen -u
3554 2012-10-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3556 Add some missing newin{}.
3558 * docs/reference/Doxyfile.in: Add ALIASES newin.
3559 * sigc++/functors/macros/functor_trait.h.m4: Add newin{2,2,11} to
3560 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
3561 * sigc++/signal_base.h: Add newin{2,4} to signal_impl::blocked(), block() and
3562 signal_base::blocked(), block(), unblock(). Bug #153780.
3564 2012-10-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3566 signal_base: Add blocked(), block(), unblock().
3568 * sigc++/signal_base.[h|cc]: Add signal_impl::blocked(), block() and
3569 signal_base::blocked(), block(), unblock(). Bug #153780.
3571 2012-09-23 Murray Cumming <murrayc@murrayc.com>
3575 2012-09-20 Andris Pavenis <andris.pavenis@iki.fi>
3577 Fix comma operator in lambda expressions.
3579 * sigc++/adaptors/lambda/macros/operator.h.m4: Add lambda_action<>
3580 specialization for comma operator (operator,()).
3581 * tests/test_cpp11_lambda.cc:
3582 * tests/test_lambda.cc: Add a test case for the comma operator. Bug #342911.
3584 2012-09-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3586 Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
3588 * sigc++/adaptors/lambda/macros/base.h.m4:
3589 * sigc++/adaptors/lambda/macros/group.h.m4:
3590 * sigc++/functors/macros/functor_trait.h.m4:
3591 * tests/test_cpp11_lambda.cc: Replace the preprocessor macro
3592 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword) with
3593 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. Bug #672555.
3595 2012-09-10 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3597 Correct a bug number in ChangeLog.
3599 2012-09-10 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3601 Use std::size_t and std::ptrdiff_t.
3603 * sigc++/macros/signal.h.m4: Use std::size_t and std::ptrdiff_t instead
3604 of ::size_t and ::ptrdiff_t. Only the std versions are required to be
3605 declared in <cstddef>.
3606 * sigc++/signal_base.h: Use std::size_t instead of ::size_t. (I did not change
3607 MSVC++-only code in this file and other files.)
3609 2012-09-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3611 Fix 'make check' with gcc 4.7.
3613 * sigc++/adaptors/lambda/macros/base.h.m4: Define sigc::unwrap_lambda_value()
3614 before it's used in sigc::lambda::operator[]() and operator=().
3615 * sigc++/adaptors/lambda/macros/group.h.m4: Fix the C++11 examples in the
3616 documentation as in test_cpp11_lambda.cc.
3617 * tests/test_cpp11_lambda.cc: Only variables with automatic storage duration
3618 shall be captured in C++11 lambda expressions.
3620 2012-08-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3622 Update .gitignore and tests/.gitignore
3624 * .gitignore: Add *~ (gedit's backup files).
3625 * tests/.gitignore: Add missing executable test files.
3627 2012-08-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3629 Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH for C++11 lambda expressions.
3631 * sigc++/functors/macros/functor_trait.h.m4: Add the preprocessor macro
3632 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword), which makes it possible to
3633 assign C++11 lambda expressions with any return type to slots.
3634 Thanks to Chow Loong Jin, who posted similar code on libsigc-list.
3635 * sigc++/adaptors/lambda/macros/base.h.m4:
3636 * sigc++/adaptors/lambda/macros/group.h.m4: Add information on C++11 lambda
3637 expressions to the documentation of lambda expressions and sigc::group().
3638 * tests/Makefile.am: Add test_cpp11_lambda.cc.
3639 * tests/test_cpp11_lambda.cc: New test case, showing that most uses of
3640 libsigc++'s lambda expressions can be replaced by standard C++11 lambda
3641 expressions. Bug #672555.
3643 2012-03-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3645 Enable test_lambda in 'make check'.
3647 * tests/Makefile.am: Enable test_lambda in 'make check'.
3648 * tests/test_lambda.cc: Comment out the tests with sigc::ref() in lambda
3649 functions' parameter lists. See Bug #669128.
3651 2012-02-29 Andre Klapper <ak-47@gmx.net>
3653 Add missing bug-database entry to DOAP file
3655 2011-09-22 Krzesimir Nowak <qdlacz@gmail.com>
3657 Don't use obsolete macros.
3659 * autogen.sh: Warn about everything during autoreconf.
3661 * build/cxx_std.m4: Replaced AC_TRY_COMPILE with AC_COMPILE_IFELSE.
3662 * configure.ac: Use LT_INIT.
3664 2011-07-25 Murray Cumming <murrayc@murrayc.com>
3668 2011-07-21 Thomas Rydzynski <qsorix@rydznet.pl>
3670 Mention visit_each() in the documentation of sigc::adapts.
3672 * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention that a user-supplied
3673 adaptor must be accompanied by a specialization of template function
3674 visit_each(). Correct some minor errors in the example of a user-supplied
3675 adaptor. Bug #486373.
3677 2011-07-20 Murray Cumming <murrayc@murrayc.com>
3679 Missing changes from the previous commit.
3681 2011-07-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3683 Add a test case for the previous commit.
3685 * tests/Makefile.am:
3686 * tests/test_bind_refptr.cc: A version of this test is also in glibmm.
3687 Note that this includes a copy/paste of RefPtr.
3690 2011-07-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3692 slot_rep: Avoid access to deleted object in notify().
3694 * sigc++/functors/slot_base.cc: slot_rep::notify() calls disconnect() before
3695 destroy(). If disconnect() has deleted the slot_rep object, destroy() is not
3696 called. Bug #564005.
3698 2011-05-24 Olav Vitters <olav@vitters.nl>
3700 Use tar-ustar instead of tar-pax to ensure OpenBSD compatibility
3702 2011-03-08 Murray Cumming <murrayc@murrayc.com>
3706 2011-02-22 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3708 trackable: Avoid calling the same callback function twice
3710 * sigc++/trackable.cc: Invalidate a callback function entry in
3711 trackable_callback_list::remove_callback() when the list is being cleared.
3714 2011-02-04 Kalev Lember <kalev@smartlink.ee>
3716 Fix the build with GCC 4.6
3718 * sigc++/signal_base.h: Include <cstddef> for size_t.
3720 2010-10-12 David King <davidk@openismus.com>
3722 Update .gitignore and tests/.gitignore
3724 2010-10-12 David King <davidk@openismus.com>
3726 Documentation changes
3728 * *.h.m4: Minor changes to documentation to fix up code example
3729 formatting, by removing the additional two spaces of indentation.
3730 Additionally, fix some spelling and grammar mistakes and typos.
3732 2010-09-26 Armin Burgmeier <armin@arbur.net>
3734 Add support for 64 bit to MSVC project files
3736 2010-09-27 Armin Burgmeier <armin@arbur.net>
3738 * MSVC_Net2005/libsigc++2.sln:
3739 * MSVC_Net2005/libsigc++2.vcproj:
3740 * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
3741 * MSVC_Net2005/tests/test_bind/test_bind.vcproj:
3742 * MSVC_Net2005/tests/test_bind_return/test_bind_return.vcproj:
3743 * MSVC_Net2005/tests/test_compose/test_compose.vcproj:
3744 * MSVC_Net2005/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
3745 * MSVC_Net2005/tests/test_disconnect/test_disconnect.vcproj:
3746 * MSVC_Net2005/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
3747 * MSVC_Net2005/tests/test_exception_catch/test_exception_catch.vcproj:
3748 * MSVC_Net2005/tests/test_functor_trait/test_functor_trait.vcproj:
3749 * MSVC_Net2005/tests/test_hide/test_hide.vcproj:
3750 * MSVC_Net2005/tests/test_mem_fun/test_mem_fun.vcproj:
3751 * MSVC_Net2005/tests/test_ptr_fun/test_ptr_fun.vcproj:
3752 * MSVC_Net2005/tests/test_retype/test_retype.vcproj:
3753 * MSVC_Net2005/tests/test_retype_return/test_retype_return.vcproj:
3754 * MSVC_Net2005/tests/test_signal/test_signal.vcproj:
3755 * MSVC_Net2005/tests/test_size/test_size.vcproj:
3756 * MSVC_Net2005/tests/test_slot/test_slot.vcproj:
3757 * MSVC_Net2005/tests/test_trackable/test_trackable.vcproj:
3758 * MSVC_Net2008/libsigc++2.sln:
3759 * MSVC_Net2008/libsigc++2.vcproj:
3760 * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj:
3761 * MSVC_Net2008/tests/test_bind/test_bind.vcproj:
3762 * MSVC_Net2008/tests/test_bind_return/test_bind_return.vcproj:
3763 * MSVC_Net2008/tests/test_compose/test_compose.vcproj:
3764 * MSVC_Net2008/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
3765 * MSVC_Net2008/tests/test_disconnect/test_disconnect.vcproj:
3766 * MSVC_Net2008/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
3767 * MSVC_Net2008/tests/test_exception_catch/test_exception_catch.vcproj:
3768 * MSVC_Net2008/tests/test_functor_trait/test_functor_trait.vcproj:
3769 * MSVC_Net2008/tests/test_hide/test_hide.vcproj:
3770 * MSVC_Net2008/tests/test_mem_fun/test_mem_fun.vcproj:
3771 * MSVC_Net2008/tests/test_ptr_fun/test_ptr_fun.vcproj:
3772 * MSVC_Net2008/tests/test_retype/test_retype.vcproj:
3773 * MSVC_Net2008/tests/test_retype_return/test_retype_return.vcproj:
3774 * MSVC_Net2008/tests/test_signal/test_signal.vcproj:
3775 * MSVC_Net2008/tests/test_size/test_size.vcproj:
3776 * MSVC_Net2008/tests/test_slot/test_slot.vcproj:
3777 * MSVC_Net2008/tests/test_trackable/test_trackable.vcproj:
3778 * MSVC_Net2010/libsigc++2.vcxproj:
3779 * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
3780 * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
3781 * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
3782 * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
3783 * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
3784 * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
3785 * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
3787 2010-09-26 Armin Burgmeier <armin@arbur.net>
3789 Add test_accumulated to the MSVC projects
3791 2010-09-27 Armin Burgmeier <armin@arbur.net>
3793 * MSVC_Net2005/libsigc++2.sln:
3794 * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
3795 * MSVC_Net2008/libsigc++2.sln:
3796 * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj: Add
3797 test_accumulated to the MSVC projects.
3799 2010-09-20 Armin Burgmeier <armin@arbur.net>
3801 Added MSVC 2010 project files
3803 2010-09-19 Armin Burgmeier <armin@arbur.net>
3805 * MSVC_Net2010/filelist.am:
3806 * MSVC_Net2010/libsigc++2.sln:
3807 * MSVC_Net2010/libsigc++2.vcxproj:
3808 * MSVC_Net2010/libsigc++2.vcxproj.filters:
3809 * MSVC_Net2010/sigc.rc.in:
3810 * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
3811 * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj.filters:
3812 * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
3813 * MSVC_Net2010/tests/test_bind/test_bind.vcxproj.filters:
3814 * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
3815 * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj.filters:
3816 * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
3817 * MSVC_Net2010/tests/test_compose/test_compose.vcxproj.filters:
3818 * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
3819 * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj.filters:
3820 * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
3821 * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj.filters:
3822 * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
3823 * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj.filters:
3824 * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj:
3825 * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj.filters:
3826 * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj:
3827 * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj.filters:
3828 * MSVC_Net2010/tests/test_hide/test_hide.vcxproj:
3829 * MSVC_Net2010/tests/test_hide/test_hide.vcxproj.filters:
3830 * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj:
3831 * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj.filters:
3832 * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj:
3833 * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj.filters:
3834 * MSVC_Net2010/tests/test_retype/test_retype.vcxproj:
3835 * MSVC_Net2010/tests/test_retype/test_retype.vcxproj.filters:
3836 * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj:
3837 * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj.filters:
3838 * MSVC_Net2010/tests/test_signal/test_signal.vcxproj:
3839 * MSVC_Net2010/tests/test_signal/test_signal.vcxproj.filters:
3840 * MSVC_Net2010/tests/test_size/test_size.vcxproj:
3841 * MSVC_Net2010/tests/test_size/test_size.vcxproj.filters:
3842 * MSVC_Net2010/tests/test_slot/test_slot.vcxproj:
3843 * MSVC_Net2010/tests/test_slot/test_slot.vcxproj.filters:
3844 * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj:
3845 * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj.filters:
3848 * configure.ac: Added project files for Visual Studio 2010.
3850 2010-06-05 David King <davidk@openismus.com>
3852 Small website updates
3854 * docs/index.html: Remove broken namespace links.
3855 * docs/website/doc.shtml: Link to library.gnome.org tutorial and API
3858 2010-06-04 Murray Cumming <murrayc@murrayc.com>
3862 2010-06-04 Murray Cumming <murrayc@murrayc.com>
3864 Manual: Add an id=index attribute in case that helps library.gnome.org.
3866 * docs/manual/libsigc_manual.xml: Add it to the <book> tag.
3868 2010-05-04 Murray Cumming <murrayc@murrayc.com>
3872 2010-05-04 Murray Cumming <murrayc@murrayc.com>
3874 Documentation improvements.
3876 * docs/manual/libsigc_manual.xml: Remove Marshallers section because
3877 it is apparently outdated and there is no example code to test it.
3878 This fixes bug #417924 (Michael Ekstrand)
3879 Also changed LibSigC++ to libsigc++ for consistency.
3880 * sigc++/sigc++.h: Main page text: Rearranged slightly.
3882 2010-04-27 David King <davidk@openismus.com>
3884 Improvements to main page documentation
3886 * sigc++/sigc++.h: Minor improvements.
3888 2010-04-23 David King <davidk@openismus.com>
3890 Add main page to Doxygen documentation
3892 * docs/Makefile.am: Parse sigc++/sigc++.h for documentation.
3893 * sigc++/sigc++.h: Add main page to Doxygen documentation.
3895 2010-04-23 David King <davidk@openismus.com>
3897 Fix the functors Doxygen group in the m4 files
3899 * sigc++/functors/macros/functor_trait.h.m4:
3900 * sigc++/functors/macros/mem_fun.h.m4:
3901 * sigc++/functors/macros/ptr_fun.h.m4: Rename functors to
3904 2010-04-16 Murray Cumming <murrayc@murrayc.com>
3908 2010-04-16 Murray Cumming <murrayc@murrayc.com>
3910 Docs: Fix the functors group and the link from the overview.
3912 * docs/website/doc.shtml: Revert this to point to the overview page at
3913 docs/indeex.html, which I have manually uploaded to the website, until
3914 we add this overview to the doxygen-generated documentation itself.
3915 * sigc++/functors/slot_base.h:
3916 * sigc++/visit_each.h: Rename the functors doxygen group to sigcfunctors,
3917 because doxygen seems to confuse it with the one in libstdc++.
3918 * docs/index.html: Update the links.
3920 2010-04-16 Murray Cumming <murrayc@murrayc.com>
3922 Website: Fix the Makefile so upload works with sourceforge again.
3924 2010-04-06 Murray Cumming <murrayc@murrayc.com>
3926 Website: Update the reference API link.
3928 * docs/website/doc.shtml: Update the reference API link to use
3929 library.gnome.org. We should make sure that the tutorial docbook is there
3931 * docs/website/devel.shtml: Remove CVS-specific instructions, quickly
3932 mentioning the git module instead.
3933 However, the Makefile must be updated to cope with sourceforge's changes.
3934 I was not able to upload this yet.
3936 2010-03-29 Murray Cumming <murrayc@murrayc.com>
3940 2010-01-06 Daniel Elstner <daniel.kitta@gmail.com>
3942 Use non-blurry font for dot graph labels
3944 * docs/reference/Doxyfile.in (SHOW_INCLUDE_FILES): Enable.
3945 (SHOW_USED_FILES): Disable.
3946 (DOT_FONTNAME): Change from FreeSans to Sans, as the hinting for the
3947 former appears to be rather bad.
3948 (TEMPLATE_RELATIONS): Disable to reduce noise.
3950 2009-12-29 Murray Cumming <murrayc@murrayc.com>
3952 Accumulators: Allow return types that are different to the signal's.
3954 * sigc++/macros/signal.h.m4: signal_emit*: Correct the slot_iterator_buf_type
3955 and slot_reverse_iterator_buf_type typedefs to allow accumulators with
3956 return types that are different to the signal's return type.
3957 * tests/Makefile.am: Reenable test_accumulated, so we can test the fix.
3958 It should be manually disabled if building on AIX (if the AIX problem cannot
3960 * tests/test_accumulated.cc: Add an accumulator with a return type that is
3961 different to the signal's return type. In this case it's a vector listing
3965 2009-12-27 Daniel Elstner <daniel.kitta@gmail.com>
3967 Disable collaboration graphs in documentation
3969 * docs/reference/Doxyfile.in (CLASS_DIAGRAMS): Enable. Contrary to
3970 what the Doxygen documentation says, no dot class inheritance graphs
3971 will be generated if both CLASS_DIAGRAMS and COLLABORATION_GRAPH are
3973 (COLLABORATION_GRAPH), (GROUP_GRAPHS): Turn off additional graphs to
3976 2009-10-26 Armin Burgmeier <armin@arbur.net>
3980 2009-10-26 Armin Burgmeier <armin@arbur.net>
3982 * sigc++config.h: Move the first five definitions to the !SIGC_MSC
3983 ifdef block, so MSVC does not see them and only uses the definitions
3984 from the SIGC_MSC block. This fixes the build with MSVC.
3986 2009-09-19 Daniel Elstner <daniel.kitta@gmail.com>
3988 Support Automake silent rules
3990 * configure.ac: Call the AM_SILENT_RULES macro if it is defined.
3991 * docs/doc-manual.am, sigc++/Makefile.am: Prefix the commands of
3992 custom rules with $(AM_V_GEN) or $(AM_V_at) in order to support
3993 the silent rules feature of Automake.
3995 2009-09-18 Michael Hasselmann <michaelh@openismus.com>
3997 Documentation cleanup: sigc::hide() always only hides one signal argument
3999 * sigc++/adaptors/macros/hide.h.m4: The documentation stated that sigc::hide()
4000 could discard multiple signal arguments when in fact the whole API only allows
4001 control over one (dummy) signal argument at a time. The "multiple argument
4002 hiding" example lives in it own section now to make it clearer you have to nest
4003 sigc::hide() for that.
4005 2009-09-13 Daniel Elstner <daniel.kitta@gmail.com>
4007 Enable verbose output of autoreconf
4009 * autogen.sh: Pass --verbose option to autoreconf.
4011 2009-09-07 Daniel Elstner <danielk@openismus.com>
4013 Delete obsolete MAINTAINERS file
4015 2009-09-02 Daniel Elstner <danielk@openismus.com>
4017 Bump version to 2.2.4.2 and update NEWS
4019 * configure.ac (AC_INIT): Increment version number to 2.2.4.2.
4020 (MM_PREREQ): Require mm-common 0.7.2.
4021 * NEWS: Write news entry for libsigc++ 2.2.4.2.
4023 2009-09-02 Daniel Elstner <danielk@openismus.com>
4025 Document namespace sigc briefly
4027 * sigc++/signal_base.h (sigc): Prepend documentation comment to
4028 provide a brief description of namespace sigc, so that Doxygen
4029 will recognize the namespace as documented.
4031 2009-08-31 Daniel Elstner <danielk@openismus.com>
4033 Update Doxygen configuration for Doxygen 1.6.1
4035 * docs/reference/Doxyfile.in: Update configuration template using
4037 (SORT_MEMBERS_CTORS_1ST): Enable.
4039 2009-08-31 Daniel Elstner <danielk@openismus.com>
4041 Protect space after comma in M4 output
4043 * sigc++/macros/template.macros.m4 (_LOOP_SEP): Triple-quote the
4044 list separator in this hairy construct, since the macro definition
4045 itself is not quoted at all and the space after the comma got lost
4046 in the output. This, in turn, produced overlong lines in the HTML
4047 reference documentation.
4049 2009-08-28 Daniel Elstner <danielk@openismus.com>
4051 Update news entry for libsigc++ 2.2.4.1 release
4053 * NEWS: Update top entry for release 2.2.4.1 of libsigc++.
4054 (2.2.4): Correct spelling of Frédéric Péters' name.
4056 2009-08-27 Daniel Elstner <danielk@openismus.com>
4058 Use shared mm-common Doxygen style sheet
4060 * configure.ac (MM_PREREQ): Require mm-common 0.7.
4061 * docs/Makefile.am (dist_noinst_DATA): List doxygen.css.
4062 * docs/reference/Doxyfile.in (HTML_STYLESHEET): Assign path
4063 to the shared doxygen.css provided by mm-common.
4065 2009-08-27 Daniel Elstner <danielk@openismus.com>
4067 Remove header and footer HTML fragments
4069 * docs/reference/libsigc_{header,footer}.html_fragment: Delete
4070 files. These custom fragments were an unnecessary maintenance
4071 hassle. Also, the files were out of date with respect to the
4072 encoding and CSS classes used by Doxygen.
4073 * docs/reference/Doxyfile.in (HTML_HEADER), (HTML_FOOTER): Set
4074 to the empty string.
4075 (PROJECT_NAME): Substitute @PACKAGE_NAME@.
4076 (PROJECT_NUMBER): Substitute @PACKAGE_VERSION@. It does look
4077 nicer in the generated HTML pages, and is probably also less
4079 (SORT_GROUP_NAMES): Enable for predictability.
4081 2009-08-27 Daniel Elstner <danielk@openismus.com>
4083 Change version of upcoming release to 2.2.4.1
4085 * configure.ac (AC_INIT): Adjust version number to 2.2.4.1.
4086 * NEWS: Correct version of top news entry to 2.2.4.1.
4088 2009-08-26 Daniel Elstner <danielk@openismus.com>
4090 Bump version to 2.2.5 and update NEWS
4092 * configure.ac (AC_INIT): Increment version number to 2.2.5.
4093 * NEWS: Write news entry for libsigc++ 2.2.5.
4095 2009-08-26 Daniel Elstner <danielk@openismus.com>
4097 Reenable hierarchy graphs for each class
4099 * docs/reference/Doxyfile.in (COLLABORATION_GRAPH): Set option
4100 to YES to enable the per-class inheritance graphs.
4102 2009-08-25 Daniel Elstner <danielk@openismus.com>
4104 Have Automake check NEWS and use bzip2
4106 * configure.ac (AM_INIT_AUTOMAKE): Add options check-news and
4109 2009-08-25 Daniel Elstner <danielk@openismus.com>
4111 Update NEWS for libsigc++ 2.2.4 release
4113 2009-08-25 Daniel Elstner <danielk@openismus.com>
4115 Bump version to 2.2.4 and require mm-common 0.6.1
4117 * configure.ac (AC_INIT): Increase version number to 2.2.4.
4118 (MM_PREREQ): Require mm-common 0.6.1 for the updated default
4119 location of the reference documentation.
4121 2009-08-25 Daniel Elstner <danielk@openismus.com>
4123 Change documentation host to library.gnome.org
4125 * README, docs/manual/libsigc_manual.xml: Adjust links to the
4126 reference documentation in the text.
4127 * docs/Makefile.am (pubdocbase), (htmlrefpub): Remove override
4128 and use the updated mm-common default values.
4129 * sigc++{,-uninstalled}.pc.in (htmlrefpub): Adjust link.
4131 2009-08-24 Daniel Elstner <danielk@openismus.com>
4133 Add id="content" element to documentation index
4135 * docs/reference/libsigc_header.html_fragment: Start <div> element
4136 with attribute id="content" to match the other C++ binding modules.
4137 * docs/reference/libsigc_footer.html_fragment: Close <div> element.
4139 2009-08-20 Daniel Elstner <danielk@openismus.com>
4141 Use new version component substitutions
4143 * MSVC_Net200[58]/sigc.rc.in: Replace the no longer defined
4144 @FP_*_VERSION@ substitutions by the new @SIGCXX_*_VERSION@
4145 substitutions for the version number components. These are
4146 defined by MM_INIT_MODULE() from mm-common.
4148 2009-08-20 Daniel Elstner <danielk@openismus.com>
4150 Substitute API version in filenames dynamically
4152 * sigc++.pc.in: Rename file from sigc++-2.0.pc.in.
4153 * sigc++-uninstalled.pc.in: Rename file from
4154 sigc++-2.0-uninstalled.pc.in.
4155 * MSVC_Net200[58]/sigc.rc.in: Rename files from sigc-2.0.rc.in
4156 and use @SIGCXX_API_VERSION@ substitution for the API version.
4157 Also replace @VERSION@ with @PACKAGE_VERSION@.
4158 * MSVC_Net200[58]/libsigc++2.{sln,vcproj}: Remove version from
4159 the project name and filenames.
4160 * MSVC_Net200[58]/filelist.am: Remove version from filenames.
4161 * configure.ac (AC_CONFIG_FILES): Insert ${SIGCXX_MODULE_NAME}
4162 into output filenames and remove the version from the input
4164 * Makefile.am: Use $(SIGCXX_MODULE_NAME) in pkg-config file
4165 names instead of hard-coding the API version.
4166 * sigc++/Makefile.am (lib_LTLIBRARIES): Instead of hard-coding
4167 the libtool archive name, substitute @SIGCXX_API_VERSION@ into
4168 it, as well as into the derived variable names.
4170 2009-08-17 Daniel Elstner <danielk@openismus.com>
4172 Set libtool version information
4174 * sigc++/Makefile.am (libsigc_2_0_la_LDFLAGS): Add libtool option
4175 -version-info 0:0:0 to specify the version information explicitly.
4177 2009-08-16 Daniel Elstner <daniel.kitta@gmail.com>
4179 Remove unused parameter names for correctness
4181 * tests/test_copy_invalid_slot.cc, tests/test_custom.cc,
4182 tests/test_deduce_result_type.cc, tests/test_functor_trait.cc,
4183 tests/test_limit_reference.cc: Remove the names of unused function
4184 parameters from the prototype, in order to get libsigc++ to build
4185 with fatal compiler warnings.
4187 2009-08-16 Daniel Elstner <daniel.kitta@gmail.com>
4189 Rename scripts/ to build/ for consistency
4191 * build/: Rename directory from scripts/ for consistency with most
4192 of the other modules that switched to the new build infrastructure.
4193 * Makefile.am (ACLOCAL_AMFLAGS): Adjust M4 include directory.
4194 * README: Adjust a reference to scripts/ in the text.
4195 * configure.ac (AC_CONFIG_AUX_DIR): Copy auxiliary files to build/.
4196 (AC_CONFIG_MACRO_DIR): Place Autoconf M4 files into build/.
4197 * docs/Makefile.am: Include $(top_srcdir)/build/doc-reference.am.
4199 2009-08-16 Daniel Elstner <danielk@openismus.com>
4201 Copy log entry into legacy ChangeLog file
4203 2009-08-16 Daniel Elstner <danielk@openismus.com>
4205 Update for latest mm-common 0.4
4207 * configure.ac (MM_PREREQ): Require mm-common 0.4.
4208 (MM_INIT_MODULE): Omit now optional version number argument.
4209 (MM_CONFIG_DOCTOOL_DIR): Copy the documentation utilities into docs/
4210 instead of scripts/.
4211 * Makefile.am (dist_noinst_DATA): Remove documentation utilities.
4212 * sigc++-2.0.pc.in (htmlrefpub): Append trailing slash.
4213 * sigc++-2.0-uninstalled.pc.in (htmlrefpub): ditto,
4214 * docs/Makefile.am (htmlrefpub): ditto.
4215 (doc_input): Perform a VPATH search for each input file, to correctly
4216 handle the case of rebuilding the documentation of a tarball release
4217 which includes the generated sources.
4218 (dist_noinst_DATA): List documentation utilities.
4220 2009-08-11 Daniel Elstner <danielk@openismus.com>
4222 Do not recurse into MSVC subdirectories
4224 * MSVC_Net200[58]/filelist.am: New Automake include files, defining
4225 the lists of files to ship from the MSVC project directories.
4226 * MSVC_Net200[58]/Makefile.am: Delete recursive Makefile.am files.
4227 * Makefile.am: Include MSVC_Net200[58]/filelist.am.
4228 (dist_noinst_DATA): Distribute MSVC project files.
4229 (SUBDIRS): Do not recurse into the MSVC_Net200[58] subdirectories.
4230 * configure.ac (AC_CONFIG_FILES): Remove the output files
4231 MSVC_Net200[58]/Makefile.am from the list.
4232 (AC_CONFIG_COMMANDS): Copy sigc++config.h into the MSVC project
4233 directories at the end of config.status.
4235 2009-08-11 Daniel Elstner <danielk@openismus.com>
4237 Remove now superfluous doctool overrides
4239 * docs/Makefile.am: Remove overrides for the documentation
4240 utilities, since MM_CONFIG_DOCTOOL_DIR() already takes care
4241 of setting MMDOCTOOLDIR to the local directory.
4242 * sigc++-2.0.pc.in (datadir): Substitute value, just in case.
4244 2009-08-10 Daniel Elstner <danielk@openismus.com>
4246 List mm-common files in scripts/.gitignore
4248 2009-08-10 Daniel Elstner <danielk@openismus.com>
4250 Have mm-common-prepare install the doc utils
4252 * configure.ac: Call MM_CONFIG_DOCTOOL_DIR([scripts]) to set
4253 up the destination directory for mm-common-prepare to copy
4254 the documentation utilities to.
4255 * scripts/doc-install.pl: Delete file.
4256 * scripts/doc-postprocess.pl: ditto,
4257 * scripts/tagfile-to-devhelp2.xsl: ditto.
4259 2009-08-09 Daniel Elstner <danielk@openismus.com>
4261 Refresh doc-install and doc-postprocess copies
4263 * scripts/doc-install.pl, scripts/doc-postprocess.pl: Copy
4264 latest versions from the mm-common module.
4265 * docs/Makefile.am (doc_install), (doc_postprocess): Include
4266 $(PERL) interpreter command in front of the script name.
4268 2009-08-08 Daniel Elstner <danielk@openismus.com>
4270 Disable extraction of undocumented identifiers
4272 * docs/reference/Doxyfile.in (EXTRACT_ALL): Change setting to
4273 NO, and adapt a number of related options accordingly. The
4274 result is a net loss of about 300 generated .html files. The
4275 roughly 450 files which remain now are still an insanely high
4277 (PREDEFINED): Predefine the Autoconf configuration defines to
4278 nudge Doxygen towards documenting the canonical code paths.
4280 2009-08-07 Daniel Elstner <danielk@openismus.com>
4282 Use #error explicitly instead of broken code
4284 * sigc++config.h.in: Do use the #error preprocessor directive,
4285 instead of an errornous piece of code. This code does not need
4286 the same level of obfuscation as an Autoconf feature test.
4288 2009-08-07 Daniel Elstner <danielk@openismus.com>
4290 Change bug report URL to point to Bugzilla
4292 * configure.ac (AC_INIT): Change the bug-report argument to the
4293 URL for filing a new libsigc++ bug on bugzilla.gnome.org. Also
4294 name the website URL as fifth argument. It will simply be ignored
4295 if the installed Autoconf does not support this new feature.
4297 2009-08-07 Daniel Elstner <danielk@openismus.com>
4299 Do not enable -pedantic mode by default
4301 * configure.ac (MM_ARG_ENABLE_WARNINGS): Remove -pedantic from the
4302 list of compiler flags to use at warning level "min" (the default).
4304 2009-08-07 Daniel Elstner <danielk@openismus.com>
4306 Correct M4 forbidden tokens pattern
4308 * configure.ac (m4_pattern_forbid): Take into account that the
4309 pattern is applied to tokens, not lines. Also catch unexpanded
4310 calls to underscore-prefixed private macros.
4312 2009-08-06 Daniel Elstner <danielk@openismus.com>
4314 Transition to new mm-common build infrastructure
4316 * autogen.sh: Replace with a minimal script that simply executes
4317 mm-common-prepare, autoreconf and configure.
4318 * configure.ac: Get rid of an enormous amount of old cruft. Use
4319 macros from the new mm-common module to set up Doxygen for building
4320 the documentation. Add option to enable more compiler warnings.
4321 * sigc++-2.0-uninstalled.pc.in: New pkg-config data file to allow
4322 linking to an uninstalled libsigc++.
4323 * sigc++-2.0.pc.in: Modernize. Provide the location of the
4324 installed reference documentation and the Doxygen tag file.
4325 * sigc++config.h.in: Modernize and update for new build
4327 * Makefile.am, */Makefile.am: Modernize and adapt to the new C++
4328 binding build infrastructure in the mm-common module.
4329 * sigc++/filelist.am: New Automake include file. Defines lists
4330 of C++ and M4 source files.
4331 * docs/Makefile.am: Rewrite using doc-reference.am from the
4333 * docs/doc-manual.am: New Automake include file for building the
4334 libsigc++ Docbook manual.
4335 * docs/images/Makefile.am: Remove file.
4336 * docs/manual/Makefile.am: ditto,
4337 * docs/reference/Makefile.am: ditto.
4338 * docs/Makefile_web.am_fragment: Remove for now, to be taken care
4340 * docs/reference/Doxyfile.in: Modernize and adapt to new build
4342 * docs/reference/beautify_docs.pl: Remove and use the more recent
4343 scripts/doc-postprocess.pl instead.
4344 * libsigc++-2.0.spec.in: Remove, to be resurrected only if someone
4346 * scripts/Makefile.am: Remove file. Distribute the files from the
4347 toplevel Makefile.am instead.
4348 * scripts/cxx_std.m4: Add missing third argument to AC_DEFINE().
4349 * scripts/doc-install.pl: New file, copied from mm-common.
4350 * scripts/doc-postprocess.pl: ditto,
4351 * scripts/tagfile-to-devhelp2.xsl: ditto.
4353 2009-06-24 Daniel Elstner <danielk@openismus.com>
4355 Add Description of a Project (DOAP) file
4357 2008-11-13 Murray Cumming <murrayc@murrayc.com>
4359 Correct the download link so it shows all versions, not just 2.0.
4361 2008-11-13 Murray Cumming <murrayc@murrayc.com>
4363 * docs/website/stable.shtml: Correct the download link so it shows all
4364 versions, not just 2.0.
4366 svn path=/trunk/; revision=302
4368 2008-10-15 Murray Cumming <murrayc@src.gnome.org>
4372 svn path=/trunk/; revision=301
4374 2008-10-08 Armin Burgmeier <armin@arbur.net>
4376 Changed output name to match the new naming convention.
4378 2008-10-08 Armin Burgmeier <armin@arbur.net>
4380 * MSVN_Net2005/libsigc++2.vcproj: Changed output name to match the new
4383 * MSVC_Net2008/: Added MSVC 2008 project files. These are basically
4384 the same as for MSVC 2005, but converted to MSVC 2008 projects.
4387 * Makefile.am: Added the new files to the build.
4389 svn path=/trunk/; revision=300
4391 2008-08-08 Armin Burgmeier <armin@arbur.net>
4393 Enable the disconnect_during_emit test by default.
4395 2008-08-08 Armin Burgmeier <armin@arbur.net>
4397 * MSVC_Net2005/libsigc++2.sln: Enable the disconnect_during_emit test
4400 * MSVC_Net2005/libsigc++2.vcproj: Renamed the generated debug database
4401 file to sigc-2.0d.pdb (the default), to stay consistent with the *mm
4404 svn path=/trunk/; revision=299
4406 2008-08-08 Armin Burgmeier <armin@arbur.net>
4408 Moved from MSVC_Net2003.
4410 2008-08-08 Armin Burgmeier <armin@arbur.net>
4412 * MSVC_Net2005/: Moved from MSVC_Net2003.
4414 * MSVC_Net2005/libsigc++2.sln:
4415 * MSVC_Net2005/libsigc++2.vcproj:
4416 * MSVC_Net2005/tests/*/*.vcproj: Converted the Visual Studio 2003
4417 project files to 2005 ones.
4419 * MSVC_Net2005/Makefile.am:
4421 * configure.ac: Adapted build files accordingly.
4423 svn path=/trunk/; revision=298
4425 2008-04-06 Cedric Gustin <cedric.gustin@gmail.com>
4427 Removed ATL/MFC header files dependency as afxres.h is not part of the
4429 2008-04-06 Cedric Gustin <cedric.gustin@gmail.com>
4431 * MSVC_Net2003/sigc-2.0.rc.in: Removed ATL/MFC header files
4432 dependency as afxres.h is not part of the Microsoft Platform
4433 SDK provided with Visual C++ Express 2008.
4436 svn path=/trunk/; revision=297
4438 2008-03-10 Murray Cumming <murrayc@src.gnome.org>
4442 svn path=/trunk/; revision=296
4444 2008-02-28 Murray Cumming <murrayc@src.gnome.org>
4448 svn path=/trunk/; revision=295
4450 2008-02-28 Elaine Xiong <elaine.xiong@sun.com>
4452 Add ifdefs around uses of reverse_iterator to really fix the build with
4454 2008-02-28 Elaine Xiong <elaine.xiong@sun.com>
4456 * sigc++/macros/signal.h.m4:
4457 * tests/test_accum_iter.cc: Add ifdefs around uses of
4458 reverse_iterator to really fix the build with recent
4462 svn path=/trunk/; revision=294
4464 2008-02-22 Murray Cumming <murrayc@src.gnome.org>
4468 svn path=/trunk/; revision=293
4470 2008-01-01 Ryan Hill <dirtyepic@gentoo>
4472 Include the cstdlib and cstring headers to fix the build with the gcc 4.3
4474 2008-01-01 Ryan Hill <dirtyepic@gentoo.>
4476 * tests/test_copy_invalid_slot.cc: Include the cstdlib
4477 and cstring headers to fix the build with the gcc 4.3
4478 pre-release. Bug #454882.
4480 svn path=/trunk/; revision=292
4482 2007-12-09 Murray Cumming <murrayc@murrayc.com>
4484 Added some includes to fix the build in some environments, such as when
4486 2007-08-31 Murray Cumming <murrayc@murrayc.com>
4488 * tests/test_copy_invalid_slot.cc: Added some includes to
4489 fix the build in some environments, such as when using Sun CC.
4490 Thanks to Vladimir Marek in bug #469872.
4492 svn path=/trunk/; revision=291
4494 2007-09-10 Murray Cumming <murrayc@src.gnome.org>
4496 Mark version in ChangeLog
4498 svn path=/trunk/; revision=290
4500 2007-09-10 Murray Cumming <murrayc@src.gnome.org>
4502 Added MAINTAINERS file
4504 svn path=/trunk/; revision=288
4506 2007-08-14 Murray Cumming <murrayc@src.gnome.org>
4510 svn path=/trunk/; revision=286
4512 2007-08-14 Murray Cumming <murrayc@murrayc.com>
4514 Removed this header.
4516 2007-08-14 Murray Cumming <murrayc@murrayc.com>
4518 * sigc++/Makefile.am:
4519 * sigc++/compatibility.h: Removed this header.
4521 * sigc++/bind_return.h:
4522 * sigc++/connection.h:
4523 * sigc++/macros/class_slot.h.m4:
4524 * sigc++/macros/hide.h.m4:
4525 * sigc++/macros/method_slot.h.m4:
4526 * sigc++/macros/object_slot.h.m4:
4527 * sigc++/macros/retype.h.m4:
4528 * sigc++/macros/signal.h.m4:
4529 * sigc++/macros/slot.h.m4:
4531 * sigc++/retype_return.h: Removed deprecated
4532 compatibility API, to probably fix the build with
4533 some compilers, such as some versions of the Sun Forte C++
4534 CC compiler. This API has been deprecated April 2004, and
4535 is not widely used, so it seems safe to do this now.
4537 * tests/Makefile.am:
4538 * tests/test_compatibility.cc: Removed this test.
4540 svn path=/trunk/; revision=285
4542 2007-07-28 Michael Elkstrand <michael@elehack.net>
4544 slot_iterator_buf, slot_reverse_iterator_buf: Added typedefs for
4546 2007-07-28 Michael Elkstrand <michael@elehack.net>
4548 * sigc++/macros/signal.h.m4: slot_iterator_buf,
4549 slot_reverse_iterator_buf: Added typedefs for
4550 value_type, reference, and pointer, so that these
4551 iterators are more like standard C++ iterators, so they can
4552 be used with standard C++ algorithms.
4553 * tests/Makefile.am:
4554 * tests/test_accum_iter.cc: Added a test for this.
4557 svn path=/trunk/; revision=284
4559 2006-11-14 Daniel Elstner <daniel@src.gnome.org>
4561 Wholly replace this script with a critter from one of my personal
4563 * autogen.sh: Wholly replace this script with a critter from one
4564 of my personal projects, with slight modifications. This one does
4565 some sophisticated stuff like probing version numbers of available
4566 automake and aclocal executables, in order to choose the right one
4567 accordingly. All this is necessary to make the build system work
4568 robustly in custom environments such as Maemo where automake-1.9
4569 doesn't come preinstalled.
4571 2006-06-20 Murray Cumming <murrayc@murrayc.com>
4573 Revert the previous changes, because none is used in the exported symbol
4575 2006-06-20 Murray Cumming <murrayc@murrayc.com>
4577 * sigc++/adaptors/macros/bind.h.m4:
4578 * sigc++/adaptors/macros/retype.h.m4:
4579 * sigc++/functors/macros/functor_trait.h.m4:
4580 * sigc++/functors/macros/slot.h.m4:
4581 * sigc++/macros/retype.h.m4:
4582 * sigc++/macros/signal.h.m4: Revert the previous changes, because none is
4583 used in the exported symbol names from gtkmm, so this would break the ABI
4586 2006-06-06 Régis Duchesne <hpreg@vmware.com>
4588 Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile the
4590 2006-05-26 Régis Duchesne <hpreg@vmware.com>
4592 * sigc++/adaptors/macros/bind.h.m4:
4593 * sigc++/adaptors/macros/retype.h.m4:
4594 * sigc++/functors/macros/functor_trait.h.m4:
4595 * sigc++/functors/macros/slot.h.m4:
4596 * sigc++/macros/retype.h.m4:
4597 * sigc++/macros/signal.h.m4:
4598 Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile
4599 the library header files.
4601 2005-12-21 Murray Cumming <murrayc@murrayc.com>
4603 Make remaining reverse_iterator_buf operator--() methods return by
4605 2005-12-21 Murray Cumming <murrayc@murrayc.com>
4607 * sigc++/macros/signal.h.m4: Make remaining
4608 reverse_iterator_buf operator--() methods
4609 return by reference, like the operator++() methods.
4610 Bug #304402 from John Profic.
4612 2005-12-20 Murray Cumming <murrayc@murrayc.com>
4614 Make all operator--() methods return by reference, like the operator++()
4616 2005-12-20 Murray Cumming <murrayc@murrayc.com>
4618 * sigc++/macros/signal.h.m4: Make all operator--() methods
4619 return by reference, like the operator++() methods.
4620 Bug #304402 from John Profic.
4622 2005-12-14 John Profic <profic@kursknet.ru>
4624 Fix compilation problem in the last patch.
4626 2005-12-14 John Profic <profic@kursknet.ru>
4628 * sigc++/macros/signal.h.m4: Fix compilation problem in
4631 2005-12-14 John Profic <profic@kursknet.ru>
4633 Added emit_reverse().
4635 2005-12-14 John Profic <profic@kursknet.ru>
4637 * sigc++/macros/signal.h.m4: Added emit_reverse().
4639 2005-12-14 Murray Cumming <murrayc@src.gnome.org>
4641 mark branch in ChangeLog
4643 2005-12-01 Murray Cumming <murrayc@murrayc.com>
4645 slot_base::disconnect(): Set call_ to 0, to invalidate the slot, even if
4647 2005-12-01 Murray Cumming <murrayc@murrayc.com>
4649 * sigc++/functors/slot_base.cc:
4650 slot_base::disconnect(): Set call_ to 0,
4651 to invalidate the slot, even if parent_ is 0.
4652 I think parent_ is, for instance, a signal, but
4653 disconnect should still work on a slot that is not
4654 connected to a signal, because a slot can be invoked
4656 Fixes bug #311057 from James Lin.
4658 2005-12-01 Murray Cumming <murrayc@murrayc.com>
4660 Added test case from bug #311057.
4662 2005-12-01 Murray Cumming <murrayc@murrayc.com>
4664 * tests/Makefile.am:
4665 * tests/test_slot_disconnect.cc: Added test
4666 case from bug #311057.
4668 2005-11-16 Philipp Berndt <philipp.berndt@gmx.net>
4670 Make member exception_catch_functor<T_functor, T_catcher, void>::catcher_
4672 2005-11-16 Philipp Berndt <philipp.berndt@gmx.net>
4674 * sigc++/adaptors/macros/exception_catch.h.m4: Make member
4675 exception_catch_functor<T_functor, T_catcher, void>::catcher_
4676 public so that it can be accessed by visit_each()
4677 (bug fixed for generalization on 2004-11-06)
4680 2005-08-17 Murray Cumming <murrayc@src.gnome.org>
4682 Increased version. Forgot to commit this a few days ago.
4684 2005-08-01 Neal E. Coombes <nealc@trdlnk.com>
4686 Updated the documentation for temp_slot_list as requested in bug #303896.
4688 2005-08-01 Neal E. Coombes <nealc@trdlnk.com>
4690 * sigc++/signal_base.h: Updated the documentation for temp_slot_list
4691 as requested in bug #303896.
4693 2005-08-01 Murray Cumming <murrayc@murrayc.com>
4695 Added missing ) in call to sun_forte_workaround(), fixing build on SUN
4697 2005-07-13 Murray Cumming <murrayc@murrayc.com>
4699 * sigc++/adaptors/hide.h.m4: Added missing
4700 ) in call to sun_forte_workaround(), fixing
4701 build on SUN Forte 5.5. Bug #312020.
4703 2005-08-01 Bruno Martinez <brunom@fing.edu.uy>
4705 Renamed ::sigc::is_base_and_derived::internal to
4707 2005-08-19 Bruno Martinez <brunom@fing.edu.uy>
4709 * sigc++/type_traits.h: Renamed
4710 ::sigc::is_base_and_derived::internal to
4711 ::sigc::is_base_and_derived::internal_class
4712 in order to avoid conflict with
4715 2005-07-13 Murray Cumming <murrayc@src.gnome.org>
4719 2005-07-13 Murray Cumming <murrayc@murrayc.com>
4721 Correct mentions of 1.2 stuff instead of 2.0. Patch in bug #310213 from
4723 2005-07-13 Murray Cumming <murrayc@murrayc.com>
4725 * docs/manual/libsigc_manual.xml: Correct mentions of
4726 1.2 stuff instead of 2.0. Patch in bug #310213 from
4729 2005-07-13 Murray Cumming <murrayc@murrayc.com>
4731 Fixed typo found by Antonio Coralles.
4733 2005-07-13 Murray Cumming <murrayc@murrayc.com>
4735 * docs/manual/libsigc_manual.xml: Fixed typo
4736 found by Antonio Coralles.
4738 2005-07-09 Murray Cumming <murrayc@murrayc.com>
4740 Did the same (see last commit) for slot_const_iterator and
4742 2005-07-09 Murray Cumming <murrayc@murrayc.com>
4744 * sigc++/macros/signal.h.m4: Did the same (see
4745 last commit) for slot_const_iterator and
4748 2005-07-09 Murray Cumming <murrayc@murrayc.com>
4750 slot_iterator: operator--() now returns value, not reference, like
4752 2005-07-09 Murray Cumming <murrayc@murrayc.com>
4754 * sigc++/macros/signal.h.m4: slot_iterator:
4755 operator--() now returns value, not reference, like
4756 operator++() already did. This caused crashes when
4757 using --no-inline with g++. Bug #308651 by
4760 2005-07-04 Murray Cumming <murrayc@src.gnome.org>
4764 2005-07-04 Philip Langdale <plangdale@vmware.com>
4766 Add a setter typedef to compose*_functor and use it instead of the
4768 2005-07-04 Philip Langdale <plangdale@vmware.com>
4770 * sigc++/adaptors/macros/compose.h.m4: Add a setter typedef to
4771 compose*_functor and use it instead of the (incorrect) getter
4772 typedef in the compose* specialization of visit_each<>().
4773 This corrects the lifetime management of slots created with
4774 compose(). Bug #308433.
4776 2005-06-13 Marek Rouchal <marek.rouchal@infineon.com>
4778 Specify int return type for main(), to be more ISO C++ compliant. Bug
4780 2005-06-13 Marek Rouchal <marek.rouchal@infineon.com>
4782 * tests/test_deduce_result_type.cc: Specify int return type
4783 for main(), to be more ISO C++ compliant. Bug #307478.
4785 2005-06-13 Andris Pavenis <pavenis@latnet.lv>
4787 sigc++/adaptors/lambda/macros/select.h.m4 Specify only a type (not a
4789 2005-06-11 Andris Pavenis <pavenis@latnet.lv>
4791 * sigc++/adaptors/lambda/macros/base.h.m4:
4792 * sigc++/adaptors/lambda/macros/select.h.m4
4793 * sigc++/adaptors/macros/hide.h.m4: Specify only a type (not a
4794 parameter name) for unused member function parameters
4796 2005-06-12 Paul Pogonyshev <pogonyshev@gmx.net>
4798 Add test for whether the compiler allows referencing to member functions
4800 2005-06-12 Paul Pogonyshev <pogonyshev@gmx.net>
4804 * sigc++config.h.in: Add test for whether the compiler allows
4805 referencing to member functions of the class/structure being
4806 declared from a definition of a static member variable.
4807 Supposedly a generic solution for GCC 3.2 compilation problems.
4809 * sigc++/type_traits.h: Define SIGC_WRAP_IS_BASE_CLASS_ based on
4810 results of the above test.
4811 (struct is_base_and_derived): Wrap up is_base_class_() functions
4812 in an internal class if SIGC_WRAP_IS_BASE_CLASS_ is defined.
4814 2005-06-10 Murray Cumming <murrayc@murrayc.com>
4816 Use CALL_SIZE instead of hard-coded 7s and 6s.
4818 2005-06-10 Murray Cumming <murrayc@murrayc.com>
4820 * sigc++/adaptors/macros/bind.h.m4:
4821 * sigc++/functors/macros/slot.h.m4:
4822 * sigc++/macros/signal.h.m4: Use CALL_SIZE instead of
4823 hard-coded 7s and 6s.
4825 2005-06-10 Murray Cumming <murrayc@src.gnome.org>
4829 2005-06-10 Murray Cumming <murrayc@murrayc.com>
4831 Make the limit_derived_target::with_type inner class an outer class, to
4833 2005-06-10 Murray Cumming <murrayc@murrayc.com>
4835 * sigc++/visit_each.h: Make the
4836 limit_derived_target::with_type inner class an outer class,
4837 to satisfy the SUN CC 5.7 compiler, though I think it is a
4838 compiler bug. Bug #302098 has the test case.
4840 2005-06-10 Murray Cumming <murrayc@murrayc.com>
4842 Make the limit_derived_target::with_type inner class an outer class, to
4844 2005-06-10 Murray Cumming <murrayc@murrayc.com>
4846 * sigc++/visit_each.h: Make the
4847 limit_derived_target::with_type inner class an outer class,
4848 to satisfy the SUN CC 5.7 compiler, though I think it is a
4849 compiler bug. Bug #302098 has the test case.
4851 2005-06-09 Murray Cumming <murrayc@src.gnome.org>
4855 2005-06-07 Murray Cumming <murrayc@src.gnome.org>
4857 Removed missing call to missing macro from configure.in
4859 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4861 Specify the actual class when using test_int(), instead of the derived
4863 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4865 * tests/test_compatibility.cc: Specify the actual class when
4866 using test_int(), instead of the derived class, to fix the build
4867 on SUN Forte CC 5.5. Patch from Friedemann Kleint in
4870 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4872 signal_emit::emit(): Use scope to ensure a certain order of destruction of
4874 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4876 * sigc++/macros/signal.h.m4: signal_emit::emit(): Use scope to
4877 ensure a certain order of destruction of the member variables, to
4878 avoid a leak on MSVC++. Patch by Andreas Ames in Bug #306249.
4880 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4882 Added comments about commenting-out SIGC_TYPEDEF_REDEFINE_ALLOWED when
4884 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4886 * sigc++/macros/signal.h.m4: Added comments about commenting-out
4887 SIGC_TYPEDEF_REDEFINE_ALLOWED when using SUN Forte CC 5.7,
4888 because I can not seem to create a test for it.
4890 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4892 Added check for the non-standard SUN Forte reverse_iterator<>, and used
4894 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4897 * scripts/cxx_std.m4:
4898 * sigc++/macros/signal.h.m4:
4899 * sigc++config.h.in: Added check for
4900 the non-standard SUN Forte reverse_iterator<>,
4901 and used it. This is based on the same stuff in
4904 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4906 limit_derived_target(): Just some whitespace changes.
4908 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4910 * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
4913 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4915 limit_derived_target(): Just some whitespace changes.
4917 2005-06-07 Murray Cumming <murrayc@murrayc.com>
4919 * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
4922 2005-06-04 Neal E. Coombes <nealc@trdlnk.com>
4924 Modified temp_slot_list to be a temporary view into a slot list. Instead
4926 2005-05-16 Neal E. Coombes <nealc@trdlnk.com>
4928 * sigc++/signal_base.h: Modified temp_slot_list to be a temporary view
4929 into a slot list. Instead of emptying the original it now simply tacks
4930 a placeholder to the end of the original. It then uses this as it's
4931 'end' iterator. This should allow for conscious recursiveness, as well
4932 as inserting a slot to any position in the slot list during emittion.
4935 2005-06-04 Friedemann Kleint <kleint@bifab.de>
4937 visit_each() template specializations: Mention the bool
4939 2005-06-04 Friedemann Kleint <kleint@bifab.de>
4941 * sigc++/macros/limit_reference.h.m4:
4942 visit_each() template specializations:
4943 Mention the bool I_derives_trackable
4944 template type, to fix the build on Solaris
4947 2005-05-10 Murray Cumming <murrayc@src.gnome.org>
4951 2005-05-10 Murray Cumming <murrayc@src.gnome.org>
4953 Added missing include
4955 2005-05-10 Régis Duchesne <hpreg@vmware.com>
4957 New class that just stores a reference, and makes sure that if the
4959 2005-05-06 Régis Duchesne <hpreg@vmware.com>
4961 * sigc++/macros/limit_reference.h.m4 (added):
4962 * sigc++/Makefile.am:
4963 New class that just stores a reference, and makes sure that if the
4964 reference derives from trackable, then the trackable reference will be
4965 used instead of the derived reference in visit_each().
4966 * sigc++/functors/macros/mem_fun.h.m4: Better fix for bug #169225 by
4967 Régis Duchesne and Christian Hammond, based on the new limit_reference
4969 * sigc++/adaptors/bound_argument.h (added): New class (built upon the
4970 new limit_reference class) that handles all 3 kinds of bound arguments:
4971 by value, by reference, and by constant reference. References are
4972 unwrapped in the bound_argument's constructor.
4973 * sigc++/adaptors/macros/bind.h.m4: Fix for bug #302327 by Régis
4974 Duchesne. Bound arguments now need to know whether they are passed by
4975 reference or not. So bind() now builds bind_functor instances using
4976 'reference_wrapper<Foo>' types, instead of 'Foo &' types. The
4977 bind_functor code is modified to compensate.
4978 * sigc++/adaptors/macros/bind_return.h.m4: Similar fix for a similar
4979 bug (unfiled) with bound return arguments.
4980 * sigc++/reference_wrapper.h:
4981 * sigc++/type_traits.h:
4982 The reference_wrapper class is only used in bound_argument.h. Put
4983 correct but unused code under #if 0.
4984 * sigc++/adaptors/lambda/base.h: This file needs reference_wrapper.h,
4985 but was incorrectly relying on type_traits.h to include it.
4986 * tests/Makefile.am:
4987 * tests/test_virtualbase_delete.cc (deleted):
4988 * tests/test_virtualbase_delete_ref_param.cc (deleted):
4989 * tests/test_limit_reference.cc (added):
4990 Replaced test_virtualbase_delete*.cc with a simpler
4991 test_limit_reference.cc which checks for all 3 aspects of the same bug
4993 * tests/test_bind_ref.cc: Slots must use 'Foo &' types. We were lucky
4994 this broken usage worked before this change. The change in
4995 type_traits.h made this bug obvious, by preventing the code to compile.
4996 * tests/test_bind_return.cc: After my change, bind() and bind_return()
4997 must use 'reference_wrapper<Foo>' types.
4998 * tests/test_custom.cc: Made this test a no-op (so it does not perturb
4999 'make check' on released versions of the library) and made it a
5000 template ready to be modified by hackers.
5002 2005-05-04 Murray Cumming <murrayc@src.gnome.org>
5006 2005-05-01 Murray Cumming <murrayc@src.gnome.org>
5010 2005-05-01 Murray Cumming <murrayc@murrayc.com>
5012 slot_base::slot_base(src): If the source slot_base has a null rep->call_,
5014 2005-05-01 Murray Cumming <murrayc@murrayc.com>
5016 * sigc++/functors/slot_base.cc:
5017 slot_base::slot_base(src): If the source
5018 slot_base has a null rep->call_, meaning that the
5019 slot is invalid, just return a default-constructed
5020 slot, to prevent the crash shown in
5021 tests/tests_copy_invalid_slot.cc. Bug #302515 by
5024 2005-05-01 Murray Cumming <murrayc@src.gnome.org>
5028 2005-05-01 Murray Cumming <murrayc@murrayc.com>
5030 bound_*<>: Add a new is_base_and_derived<sigc::trackable> parameter to the
5032 2005-05-01 Murray Cumming <murrayc@murrayc.com>
5034 * sigc++/functors/macros/mem_fun.h.m4: bound_*<>:
5035 Add a new is_base_and_derived<sigc::trackable>
5036 parameter to the template and thereby provide a
5037 specialization for T_Obj types that derive from
5038 sigc::trackable. This prevents a crash when casting
5039 from the derived type to sigc::trackable after the
5040 derived destructor has run. This cast can sometimes
5041 fail when using multiple inheritance, at least with
5042 g++. Bug #169225 by Régis Duchesne and Christian
5044 * sigc++/type_traits.h: Add documenation for
5045 the internal is_base_and_derived<> template, which
5046 allows us to specialize other templates for certain
5049 2005-04-28 Murray Cumming <murrayc@murrayc.com>
5051 Added comments for users of g++ 3.2.
5053 2005-04-28 Murray Cumming <murrayc@murrayc.com>
5055 * sigc++/type_traits.h: Added comments for users of
5058 2005-04-28 Murray Cumming <murrayc@murrayc.com>
5060 Added simplified test case from bug #169225. We have a patch to make this
5062 2005-04-28 Murray Cumming <murrayc@murrayc.com>
5064 * tests/Makefile.am:
5065 * tests/test_virtualbase_delete.cc: Added
5066 simplified test case from bug #169225. We have a patch
5067 to make this succeed but I am not ready to commit it
5070 2005-04-27 Murray Cumming <murrayc@murrayc.com>
5072 Added a place to put extra test code, so I don't have to keep installing
5074 2005-04-27 Murray Cumming <murrayc@murrayc.com>
5076 * tests/Makefile.am:
5077 * tests/test_custom.cc:
5078 Added a place to put extra test code, so I don't have
5079 to keep installing my crazy libsigc++ versions.
5081 2005-04-27 Murray Cumming <murrayc@murrayc.com>
5083 Revert back to the non-explicit template call, because we can not specify
5085 2005-04-27 Murray Cumming <murrayc@murrayc.com>
5087 * sigc++/visit_each.h: Revert back to the non-explicit
5088 template call, because we can not specify the
5089 template specialization so easily, because the
5090 specializations have different numbers of types.
5091 * tests/Makefile/am:
5092 * tests/test_bind_ref.cc: Add a simple test only for
5093 sigc::ref disconnection.
5095 2005-04-26 Murray Cumming <murrayc@murrayc.com>
5097 Use the explicit template specialization, needed for Tru64 and AIX
5099 2005-04-26 Murray Cumming <murrayc@murrayc.com>
5101 * sigc++/visit_each.h: Use the explicit template
5102 specialization, needed for Tru64 and AIX compilers.
5103 This causes a crash in some uses of sigc::ref()
5104 (when using g++ 3.3.4 or 3.3.5 , but not with 3.4) but
5105 seems to fix a crash in some uses of multiple inheritance
5107 * tests/test_bind.cc: Comment out the crashing (not with
5108 g++ 3.4) use of sigc::ref() with an explanatory comment.
5110 2005-04-25 Murray Cumming <murrayc@src.gnome.org>
5114 2005-03-31 Murray Cumming <murrayc@src.gnome.org>
5118 2005-03-18 Murray Cumming <murrayc@murrayc.com>
5120 Updated the list of supported compilers.
5122 2005-03-18 Murray Cumming <murrayc@murrayc.com>
5124 * index.shtml: Updated the list of supported
5127 2005-03-18 Murray Cumming <murrayc@murrayc.com>
5129 Remove links to the sourceforge download page, because we do not use it.
5131 2005-03-18 Murray Cumming <murrayc@murrayc.com>
5133 * fragments/footer.html_fragment:
5134 * fragments/html_declaration.html_fragment:
5135 * link.shtml: Remove links to the sourceforge
5136 download page, because we do not use it.
5137 * notes.shtml: Removed this. It is not linked
5138 from anywhere anyway.
5140 2005-03-09 Cedric Gustin <cedric.gustin@swing.be>
5142 Fixed typo in today's date.
5144 2005-03-09 Cedric Gustin <cedric.gustin@swing.be>
5146 * ChangeLog: Fixed typo in today's date.
5148 2005-03-09 Cedric Gustin <cedric.gustin@swing.be>
5150 Moved MSVC_Net2003 directory to SUBDIRS. Added blank.cpp to EXTRA_DIST.
5152 2005-01-24 Cedric Gustin <cedric.gustin@swing.be>
5154 * Makefile.am: Moved MSVC_Net2003 directory to SUBDIRS.
5155 * MSVC_Net2003/Makefile.am: Added blank.cpp to EXTRA_DIST.
5156 * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Removed
5157 test_accumulated and test_lambda projects as the tests are
5158 disabled in the standard, configure-based build.
5159 * MSVC_Net2003/MSVC_Net2003/libsigc++2_msvcNet2003.vcproj:
5160 Generate a PDB file in the Debug target.
5162 2005-03-04 Murray Cumming <murrayc@murrayc.com>
5164 Mention actual supported compilers. Removed broken examples links. Change
5166 2005-03-05 Murray Cumming <murrayc@murrayc.com>
5168 * docs/website/stable.html: Mention actual supported compilers.
5169 * docs/website/docs.html: Removed broken examples links. Change
5170 reference link to the reference overview page.
5172 2005-02-23 Murray Cumming <murrayc@murrayc.com>
5174 Make slot_base::operator=() public, to fix the build with SUN Forte C++
5176 2005-02-23 Murray Cumming <murrayc@murrayc.com>
5178 * sigc++/functors/slot_base.h: Make slot_base::operator=() public, to
5179 fix the build with SUN Forte C++ 5.5 and Tru64.
5181 2005-02-22 Murray Cumming <murrayc@src.gnome.org>
5185 2005-02-20 Murray Cumming <murrayc@murrayc.com>
5187 #included <new> to avoid an unresolved symbol error with the Tru64
5189 2005-02-20 Murray Cumming <murrayc@murrayc.com>
5191 * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
5192 an unresolved symbol error with the Tru64 compiler. Solutio found by
5193 Tim Mooney in bug #161503.
5195 2005-02-20 Murray Cumming <murrayc@murrayc.com>
5197 #included <new> to avoid an unresolved symbol error with the Tru64
5199 2005-02-20 Murray Cumming <murrayc@murrayc.com>
5201 * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
5202 an unresolved symbol error with the Tru64 compiler. Solutio found by
5203 Tim Mooney in bug #161503.
5205 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
5207 Add some documentation.
5209 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
5211 * sigc++/signal_base.h: Add some documentation.
5213 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
5215 Reset deferred_ flag to false in signal_impl::sweep() (Neal E. Coombes).
5217 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
5219 * sigc++/signal_base.cc: Reset deferred_ flag to false in
5220 signal_impl::sweep() (Neal E. Coombes). Partly fixes bug
5223 2005-02-11 Martin Schulze <mschulze@cvs.gnome.org>
5225 Set the correct group in post-html.
5227 2005-02-11 Martin Schulze <mschulze@cvs.gnome.org>
5229 * docs/manual/Makefile.am: Set the correct group in post-html.
5231 2005-02-11 Murray Cumming <murrayc@murrayc.com>
5233 Fix typo in url for reference docs. Found by James Lin.
5235 2005-02-11 Murray Cumming <murrayc@murrayc.com>
5237 * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
5240 2005-02-11 Murray Cumming <murrayc@src.gnome.org>
5242 reverted stuff I did not mean to commit
5244 2005-02-11 Murray Cumming <murrayc@murrayc.com>
5246 Fix typo in url for reference docs. Found by James Lin.
5248 2005-02-11 Murray Cumming <murrayc@murrayc.com>
5250 * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
5253 2005-02-06 Murray Cumming <murrayc@murrayc.com>
5255 temp_slot_list::begin(), end(): Actually return the iterators.
5257 2005-02-06 Murray Cumming <murrayc@murrayc.com>
5259 * sigc++/signal_base.h: temp_slot_list::begin(), end(): Actually
5260 return the iterators.
5262 2005-02-04 Neal E. Coombes <nealc@trdlnk.com>
5264 Add temp_slot_list struct to facilitate allowing new connections to a
5266 2005-02-03 Neal E. Coombes <nealc@trdlnk.com>
5268 * sigc++/signal_base.h: Add temp_slot_list struct to facilitate
5269 allowing new connections to a signal during an emittion without
5270 affecting that emittion.
5271 * sigc++/macros/signal.h.m4: Use the new struct temp_slot_list
5273 prevent connections made during an emittion from being called in
5275 same emittion (which has the potential of causing things like
5276 infinite loops). This guarantees an emittion will be finite, as
5278 as maintaining any order of emittion guarantees that may have
5282 2005-02-02 Murray Cumming <murrayc@src.gnome.org>
5286 2005-02-02 Murray Cumming <murrayc@src.gnome.org>
5290 2005-02-02 Murray Cumming <murrayc@src.gnome.org>
5294 2005-02-01 Murray Cumming <murrayc@murrayc.com>
5296 Add sigc::var<>() documentation, from Roger Ferrer Ibáñez in bug
5298 2005-02-01 Murray Cumming <murrayc@murrayc.com>
5300 * sigc++/adapators/macros/base.h.m4: Add sigc::var<>() documentation,
5301 from Roger Ferrer Ibáñez in bug #149483.
5303 2005-02-01 Murray Cumming <murrayc@murrayc.com>
5305 In the template specializations of visit_each(): As before, specify the
5307 2005-02-01 Murray Cumming <murrayc@murrayc.com>
5309 * sigc++/adaptors/macros/compose.h.m4: In the template specializations
5310 of visit_each(): As before, specify the specific other template
5311 specializations of visit_each that we use. Needed by AIX.
5312 * tests/Makefile.am: Reenabled most tests, because AIX can now
5315 2005-02-01 Murray Cumming <murrayc@murrayc.com>
5317 [murrayc@localhost libsigc++2]$ more ChangeLog 2005-02-01 Murray Cumming <murrayc@murrayc.com>
5319 * sigc++/visit_each.h: visit_each_type(): Specify the specific
5320 template specialization of visit_each<>() to use. The AIX compiler,
5321 and possibly the Tru64 compiler, need this extra hint.
5323 2005-02-01 Murray Cumming <murrayc@murrayc.com>
5325 Define bind_functor::operator() inline because the AIX compiler/linker
5327 2005-02-01 Murray Cumming <murrayc@murrayc.com>
5329 * bind.h.m4: Define bind_functor::operator() inline because the AIX
5330 compiler/linker sometimes fails to find it when it is defined
5331 outside of the class.
5333 2005-02-01 Murray Cumming <murrayc@murrayc.com>
5337 2005-01-30 Murray Cumming <murrayc@murrayc.com>
5339 * sigc++/type_traits.h: is_base_and_derived: Added
5340 avoid_gcc3_warning_(), to avoid an incorrect warning when using
5343 2005-01-30 Murray Cumming <murrayc@murrayc.com>
5345 is_base_and_derived: Added avoid_gcc3_warning_(), to avoid an incorrect
5347 2005-01-30 Murray Cumming <murrayc@murrayc.com>
5349 * sigc++/type_traits.h: is_base_and_derived: Added
5350 avoid_gcc3_warning_(), to avoid an incorrect warning when using
5353 2005-01-30 Liza Klerck <liza@trdlnk.com>
5355 Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
5357 2005-01-28 Liza Klerck <liza@trdlnk.com>
5359 * sigc++/functors/macros/mem_fun.h.m4: Add a sigc:: namespace
5360 prefix to the nested use of visit_each(), to avoid ambiguity when
5361 using 2 versions of the libsigc++ API inside different namespace.
5363 2005-01-27 Murray Cumming <murrayc@murrayc.com>
5365 Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
5367 2005-01-27 Murray Cumming <murrayc@murrayc.com>
5369 * sigc++/adaptors/macros/adaptor_trait.h.m4: Add a sigc:: namespace
5370 prefix to the nested use of visit_each(), to avoid ambiguity when
5371 using 2 versions of the libsigc++ API inside different namespace,
5372 which is not very advisable anyway. Bug #165222 from
5375 2005-01-26 Murray Cumming <murrayc@src.gnome.org>
5379 2005-01-25 Murray Cumming <murrayc@src.gnome.org>
5383 2005-01-24 Cedric Gustin <cedric.gustin@swing.be>
5385 Moved the SIGC_USING_STD macro definition out of the SIGC_CONFIGURE
5387 2005-01-24 Cedric Gustin <cedric.gustin@swing.be>
5389 * sigc++config.h.in : Moved the SIGC_USING_STD macro definition
5390 out of the SIGC_CONFIGURE section. We also need it for MSVC.
5391 * MSVC_Net2003/.cvsignore : Added .def and .aps files
5392 * MSVC_Net2003/Makefile.am: Rewrote rule for local copy of
5393 sigc++config.h (required for 'make distcheck').
5394 * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Added test_retype and
5395 test_disconnect_during_emit tests.
5396 * MSVC_Net2003/tests/test_disconnect_during_emit/*,
5397 MSVC_Net2003/tests/test_retype/*: Initial commit.
5399 2005-01-21 Murray Cumming <murrayc@murrayc.com>
5401 Disabled the test_accumulator, test_bind, and test_compose tests, and part
5403 2005-01-21 Murray Cumming <murrayc@murrayc.com>
5405 * tests/: Disabled the test_accumulator, test_bind, and test_compose
5406 tests, and part of test_mem_fun because the AIX xlC compiler can not
5407 build them, but it can still do most things, including the examples.
5408 See the comments in tests/Makefile.am.
5410 2005-01-21 Murray Cumming <murrayc@murrayc.com>
5412 non-member operator()(): Specify the extra nil arguments in the templated
5414 2005-01-21 Murray Cumming <murrayc@murrayc.com>
5416 * sigc++/adaptors/bind.h.m4: non-member operator()(): Specify the
5417 extra nil arguments in the templated class name prefix. Oddly, the
5418 AIX xlC compiler says that the type of the first parameter does not
5419 match the template if you don't do this.
5421 2005-01-21 Murray Cumming <murrayc@murrayc.com>
5423 is_base_and_derived struct: Move the is_base_class_() functions out of the
5425 2005-01-21 Murray Cumming <murrayc@murrayc.com>
5427 * sigc++/type_traits.h: is_base_and_derived struct: Move the
5428 is_base_class_() functions out of the inner class, because the AIX
5429 xlC compiler does not like that - see the comments in the code.
5430 * sigc++/adaptors/bind.h.m4: Add the extra nil template types to
5431 the template specializations, as in slot and signal.
5433 2005-01-21 Murray Cumming <murrayc@murrayc.com>
5435 slot and signal template specialization for various numbers of template
5437 2005-01-21 Murray Cumming <murrayc@murrayc.com>
5439 * sigc++/functors/macros/slot.h.m4, sigc++/macros/signal.h.m4:
5440 slot and signal template specialization for
5441 various numbers of template args: In the class slot line, specify
5442 all the remaining template types as null, instead of expecting the
5443 compiler to guess them in itself. This partly fixes the build on
5444 AIX with the xlC compiler. Bug #164685.
5446 2005-01-19 Murray Cumming <murrayc@murrayc.com>
5448 struct is_base_and_derived: Make the test inner struct a friend, so that
5450 2005-01-19 Murray Cumming <murrayc@murrayc.com>
5452 * sigc++/type_traits: struct is_base_and_derived: Make the test inner
5453 struct a friend, so that it can use the big inner struct. This is
5454 required by the Tru64 compiler.
5455 * sigc++/adaptors/lambda/base.h: Put the unwrap_lambda_value()
5456 definitions at the top, because Tru64 (understandably) needs them to
5457 be declared before use.
5459 2005-01-19 Murray Cumming <murrayc@murrayc.com>
5461 Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
5463 2005-01-19 Murray Cumming <murrayc@murrayc.com>
5465 * scripts/: Added cxx_std.m4, with a test copied from
5466 glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
5468 * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
5469 like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
5470 is not there already,
5471 * configure.in: Used the new test.
5472 * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
5473 This is needed by the Tru64 and HP-UX compilers when using their
5476 2005-01-19 Murray Cumming <murrayc@murrayc.com>
5478 Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
5480 2005-01-19 Murray Cumming <murrayc@murrayc.com>
5482 * scripts/: Added cxx_std.m4, with a test copied from
5483 glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
5485 * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
5486 like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
5487 is not there already,
5488 * configure.in: Used the new test.
5489 * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
5490 This is needed by the Tru64 and HP-UX compilers when using their
5493 2005-01-19 Murray Cumming <murrayc@murrayc.com>
5495 AC_INIT(): Provide the extra tarball name parameter, so that it does not
5497 2005-01-19 Murray Cumming <murrayc@murrayc.com>
5499 * configure.in: AC_INIT(): Provide the extra tarball name parameter,
5500 so that it does not create a libsigc--- tarball.
5502 2005-01-19 Murray Cumming <murrayc@murrayc.com>
5504 AC_INT(): Use libsigc++ instead of sigc++, attempting to get the correct
5506 2005-01-19 Murray Cumming <murrayc@murrayc.com>
5508 * configure.in: AC_INT(): Use libsigc++ instead of sigc++, attempting
5509 to get the correct tarball name.
5511 2005-01-18 Murray Cumming <murrayc@murrayc.com>
5513 Used the autoconf 2.93 and AM_INIT_AUTOMAKE() technique to specify ustar
5515 2005-01-18 Murray Cumming <murrayc@murrayc.com>
5517 * configure.in: Used the autoconf 2.93 and AM_INIT_AUTOMAKE()
5518 technique to specify ustar format for the tarball, to prevent files
5519 with long file names from appearing at the top of the tarball.
5520 Based on the same fix in gtkmm 2.6.
5522 2005-01-18 Murray Cumming <murrayc@murrayc.com>
5524 Specify the base class when using the rep_ member variable. This stops the
5526 2005-01-18 Murray Cumming <murrayc@murrayc.com>
5528 * sigc++/functors/macros/slot_h.m4: Specify the base class when
5529 using the rep_ member variable. This stops the HP-UX aCC compiler
5530 from saying that a Nonstatic member is referenced in a nested class,
5531 local class or static member initializer. Bug #150719.
5533 2005-01-18 Murray Cumming <murrayc@murrayc.com>
5535 Bug #159597 - patch from e97_far at e.kth.se to replace C-style casts with
5537 2005-01-18 Murray Cumming <murrayc@murrayc.com>
5539 * Bug #159597 - patch from e97_far at e.kth.se to replace C-style
5540 casts with reinterpret_cast<> and static_cast<> to avoid warnings.
5542 2005-01-17 Murray Cumming <murrayc@murrayc.com>
5544 Specifying html/index.html instead of just the html directory as a target
5546 2005-01-17 Murray Cumming <murrayc@murrayc.com>
5548 * docs/manual/Makefile.am: Specifying html/index.html instead of
5549 just the html directory as a target seems to fix distcheck problems.
5550 I can also now confirm that the install works on solaris, when using
5551 gmake, though not when using make.
5553 2005-01-17 Murray Cumming <murrayc@murrayc.com>
5555 Add built files to DISTCLEANFILES to fix the distcheck. Specify in paths,
5557 2005-01-17 Murray Cumming <murrayc@murrayc.com>
5559 * MSVC_Net2004/Makefile.am: Add built files to DISTCLEANFILES to fix
5561 * docs/reference/Makefile.am, manual/Makefile.am: Specify in
5562 paths, to fix distcheck of the manual, and maybe fix install problems
5565 2005-01-11 Murray Cumming <murrayc@murrayc.com>
5567 Updated the text about binary packages. Link to the 2.0 documentation
5569 2005-01-11 Murray Cumming <murrayc@murrayc.com>
5571 * docs/website/stable.html: Updated the text about binary packages.
5572 * docs/website/docs.html: Link to the 2.0 documentation instead of the
5575 2005-01-11 GregSchussman <schussman@slac.stanford.edu>
5577 Clean up punctuation, make definitions complete sentences, and add
5579 2004-12-17 GregSchussman <schussman@slac.stanford.edu>
5581 * glossary.shtml: Clean up punctuation, make definitions complete
5582 sentences, and add clarifications for certain definitions according to
5583 what Murray Cumming's suggestions and answers to my questions.
5586 2005-01-11 Murray Cumming <murrayc@murrayc.com>
5588 Added manual, copied from the libsigc++-1.2 cvs module, and updated it for
5590 2005-01-11 Murray Cumming <murrayc@murrayc.com>
5592 * docs/: Added manual, copied from the libsigc++-1.2 cvs module,
5593 and updated it for the new 2.0 API.
5595 2005-01-11 Murray Cumming <murrayc@murrayc.com>
5597 Added website, copied from the libsigc++-1.2 cvs module. We will use it
5599 2005-01-11 Murray Cumming <murrayc@murrayc.com>
5601 * docs/: Added website, copied from the libsigc++-1.2 cvs module.
5602 We will use it from here from now on.
5604 2004-12-12 Cedric Gustin <cedric.gustin@swing.be>
5606 parse version tags at configure time (for sigc-2.0.rc). New resource file.
5608 2004-12-11 Cedric Gustin <cedric.gustin@swing.be>
5610 * configure.ac : parse version tags at configure time (for
5612 * MSVC_Net2003/sigc-2.0.rc.in : New resource file.
5613 * MSVC_Net2003/Makefile.am: include sigc-2.0.rc in distribution.
5615 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
5617 get sigc++config.h from $(top_builddir) instead of $(top_srcdir).
5619 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
5621 * MSVC_Net2003/Makefile.am: get sigc++config.h from $(top_builddir)
5622 instead of $(top_srcdir).
5624 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
5626 copy sigc++config.h from $(top_srcdir) at build time. sigc++config.h
5628 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
5630 * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
5631 at build time. sigc++config.h removed from CVS.
5633 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
5635 Renamed libsigc++ target to sigc-2.0d.dll (Debug) and sigc-2.0.dll
5637 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
5639 * MSVC_Net2003/*/*.vcproj: Renamed libsigc++ target to
5640 sigc-2.0d.dll (Debug) and sigc-2.0.dll (Release). Added
5641 $(SolutionDir) and $(SolutionDir)\.. to "Additional Include
5642 Directories" in tests projects.
5643 * sigc++config.h.in: Rewrote dllexport/dllimport macros for
5644 MSVC, for better consistency with glibmm/gtkmm.
5645 * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
5648 2004-11-27 Murray Cumming <murrayc@murrayc.com>
5650 Revert the AC_PROG_LIBTOOL change, so that this builds with actually
5652 2004-11-27 Murray Cumming <murrayc@murrayc.com>
5654 * configure.in: Revert the AC_PROG_LIBTOOL change, so that this builds
5655 with actually released libtool versions, and in jhbuild, so that it
5658 2004-11-06 Martin Schulze <mschulze@cvs.gnome.org>
5660 Make catcher_ member public so that it can be accessed by visit_each()
5662 2004-11-06 Martin Schulze <mschulze@cvs.gnome.org>
5664 * sigc++/adaptors/macros/exception_catch.h.m4: Make catcher_
5666 public so that it can be accessed by visit_each() (bug reported
5668 ml by Philip Langdale <plangdale@vmware.com>).
5670 2004-10-24 Martin Schulze <mschulze@cvs.gnome.org>
5672 Link with the "multithreaded DLL" runtime libraries and enable RTTI for
5674 2004-10-24 Martin Schulze <mschulze@cvs.gnome.org>
5677 MSVC_Net2003/*/*.vcproj: Link with the "multithreaded DLL"
5679 libraries and enable RTTI for the MSVC build
5680 (patch from Timothy M. Shead <tshead@k-3d.com>).
5681 * MSVC_Net2003/*/.cvsignore: Hide generated build files from cvs
5682 (patch from Timothy M. Shead <tshead@k-3d.com>).
5684 2004-10-12 Martin Schulze <mschulze@src.gnome.org>
5686 Update ChangeLog (add '2.0.6:').
5688 2004-10-12 Martin Schulze <mschulze@cvs.gnome.org>
5690 Fix project files to compile out-of-the-box and add dummy file so that .cc
5692 2004-10-12 Martin Schulze <mschulze@cvs.gnome.org>
5694 * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project
5696 to compile out-of-the-box and add dummy file so that .cc files
5698 recognized as c++ code files (patch from Timothy M. Shead).
5700 2004-10-12 Martin Schulze <mschulze@cvs.gnome.org>
5702 If SIGC_NEW_DELETE_IN_LIBRARY_ONLY is defined, implement
5704 2004-10-10 Martin Schulze <mschulze@cvs.gnome.org>
5706 * sigc++/signal_base.{h,cc}, sigc++/functors/slot_base.{h,cc},
5707 sigc++/functors/macros/slot.h.m4: If
5708 SIGC_NEW_DELETE_IN_LIBRARY_ONLY
5709 is defined, implement signal_base::operator new/delete and
5710 slot_rep::operator new/delete (suggested by Timothy M. Shead).
5711 Remove old work-around from 2004-10-02 since it didn't work.
5713 2004-10-07 Martin Schulze <mschulze@cvs.gnome.org>
5715 Update for libtool 1.5a (with support for Intel C++). Remove bogus
5717 2004-10-07 Martin Schulze <mschulze@cvs.gnome.org>
5719 * configure.ac: Update for libtool 1.5a (with support for Intel C++).
5720 * MSVC_Net2003/sigc++config.h: Remove bogus '#define'
5721 (reported by Timothy M. Shead <tshead@k-3d.com>).
5723 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
5725 Bump version number to 2.0.6. Add ChangeLog summary for version 2.0.6.
5727 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
5729 * configure.ac: Bump version number to 2.0.6.
5730 * NEWS: Add ChangeLog summary for version 2.0.6.
5732 2004-10-02 Martin Schulze <mschulze@src.gnome.org>
5734 Update tests/.cvsignore (Martin)
5736 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
5738 Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy. Call the
5740 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
5742 * sigc++/functors/slot_base.{h,cc},
5743 sigc++/functors/macros/slot.h.m4:
5744 Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy.
5745 Call the dtor of the functor stored in typed_slot_rep from
5747 A cleaner solution would be to add an additional "virtual"
5749 that calls 'delete' or a real virtual dtor. However, this would
5751 less efficient and might break the ABI. (Fixes #152323.)
5753 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
5755 Define and use new macro SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly
5757 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
5759 * sigc++config.h.in, MSVC_Net2003/sigc++config.h,
5760 sigc++/signal_base.cc, sigc++/functors/slot_base.{h,cc},
5761 sigc++/functors/macros/slot.h.m4: Define and use new macro
5762 SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly move
5763 all calls to new and delete into non-inline library code.
5765 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
5767 Add a missing template keyword in the definition of
5769 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
5771 * sigc++/adaptors/lambda/macros/group.h.m4: Add a missing
5772 template keyword in the definition of deduce_result_type::type
5773 (hopefully fixes #152327).
5775 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
5777 Use correct bound_mem_functor variants for const (volatile) methods (fixes
5779 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
5781 * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor
5782 variants for const (volatile) methods (fixes #148744).
5784 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
5786 Correct link to lambda module.
5788 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
5790 * docs/index.html: Correct link to lambda module.
5792 2004-09-01 Martin Schulze <mschulze@src.gnome.org>
5796 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
5798 Update compatibility section.
5800 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
5802 * README: Update compatibility section.
5804 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
5808 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
5810 * MSVC_Net2003/Makefile.am: Add sigc++config.h to EXTRA_DIST.
5811 * configure.ac: Bump version number to 2.0.5.
5812 * NEWS: Add ChangeLog summary for version 2.0.5.
5814 2004-08-21 Martin Schulze <mschulze@cvs.gnome.org>
5816 Use sigc::var("\n") instead of sigc::ref("\n"). Comment out the affected
5818 2004-08-21 Martin Schulze <mschulze@cvs.gnome.org>
5820 * tests/test_lambda.cc: Use sigc::var("\n") instead of
5822 Comment out the affected lines, nevertheless.
5823 Sun FORTE and Compaq C++ can handle neither sigc::ref("\n") nor
5824 sigc::var("\n"). I see more chances fixing sigc::var("\n").
5825 * sigc++/adaptors/lambda/macros/base.h.m4: Add a comment about a
5826 possible work around for sigc::var("\n") compiler problems.
5827 * tests/test_compatibility.cc: Remove a 'const' keyword that
5829 the test case from compiling with the Sun FORTE.
5830 * tests/test_trackable.cc: Remove a 'virtual' keyword and an
5832 variable to avoid compiler warnings.
5833 * NEWS: Add ChangeLog summary for version 2.0.4.
5835 2004-08-09 Murray Cumming <murrayc@src.gnome.org>
5839 2004-08-04 James Lin <slimjimmy@mail.com>
5841 Added SIGC_API qualifier to all externally-visible non-template
5843 2004-08-03 James Lin <slimjimmy@mail.com>
5845 * Added SIGC_API qualifier to all externally-visible
5848 * Added #include <sigc++config.h> to the files that use
5850 * Added empty SIGC_API definition to sigc++config.h.in for
5852 compilers. I'm not sure if this is the right place to put this
5854 * Added MSVC-specific sigc++config.h to the MSVC project
5856 (The comment in it probably should be edited.)
5857 * Changed MSVC project settings to output a multi-threaded DLL,
5859 the include paths to work (hopefully) out-of-the-box. Disabled
5860 precompiled headers, since they just complicate things and
5861 shouldn't be necessary for such a relatively project.
5863 2004-08-03 James Lin <slimjimmy@mail.com>
5865 Added SIGC_API qualifier to all externally-visible non-template
5867 2004-08-03 James Lin <slimjimmy@mail.com>
5869 * Added SIGC_API qualifier to all externally-visible
5872 * Added #include <sigc++config.h> to the files that use
5874 * Added empty SIGC_API definition to sigc++config.h.in for
5876 compilers. I'm not sure if this is the right place to put this
5878 * Added MSVC-specific sigc++config.h to the MSVC project
5880 (The comment in it probably should be edited.)
5881 * Changed MSVC project settings to output a multi-threaded DLL,
5883 the include paths to work (hopefully) out-of-the-box. Disabled
5884 precompiled headers, since they just complicate things and
5885 shouldn't be necessary for such a relatively project.
5887 2004-08-01 Martin Schulze <mschulze@cvs.gnome.org>
5889 Remove type_trait<>::instance() (was unimplemented and unused; caused
5891 2004-08-01 Martin Schulze <mschulze@cvs.gnome.org>
5893 * sigc++/type_traits.h: Remove type_trait<>::instance()
5894 (was unimplemented and unused; caused problems with the MSVC).
5896 2004-07-23 Martin Schulze <mschulze@cvs.gnome.org>
5898 Fix typo concerning distribution of libsigc++-2.0.spec. Mention our
5900 2004-07-23 Martin Schulze <mschulze@cvs.gnome.org>
5902 * Makefile.am: Fix typo concerning distribution of
5904 * AUTHORS: Mention our contributors for platforms Sun FORTE and
5907 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
5909 Don't call operator()() in sun_forte_workaround(); rather copy
5911 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
5913 * *.h.m4: Don't call operator()() in sun_forte_workaround(); rather copy
5914 operator()(). Calling operator()() makes a copy of the arguments causing
5915 wrong results if an argument type is a reference. Hopefully fixes #147311.
5917 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
5919 Break "std::cout << [expr] << a << std::endl;" into "std::cout << [expr];
5921 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
5923 * tests/test_lambda.cc: Break "std::cout << [expr] << a << std::endl;"
5924 into "std::cout << [expr]; std::cout << a << std::endl;".
5925 I hope this fixes #147313 where the right values for "[expr]" but wrong
5926 values for "a" were written to std::cout for some compiler with optimizations
5929 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
5931 Correct return type deduction of lambda expressions in
5933 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
5935 * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction
5936 of lambda expressions in lambda_operator*::operator()(). Might be related to
5938 * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_().
5940 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
5942 Add configure check SIGC_OPERATOR_OVERLOAD_AMBUGUITY for a SUN FORTE
5944 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
5946 * scripts/cxx.m4, sigc++config.h.in, configure.ac,
5947 sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
5948 Add configure check SIGC_OPERATOR_OVERLOAD_AMBUGUITY for a SUN FORTE
5949 compiler problem (bug #147391). Use it to decide whether the lambda
5950 action operators may be overloaded (not doing so restricts the API slightly).
5951 * sigc++/adaptors/lambda/macros/operator.h.m4: Add some doxygen comments
5952 and remove attic code.
5953 * sigc++/adaptors/lambda/macros/base.h.m4:
5954 Add templates unwrap_lambda_type and unwrap_lambda_value() to support
5955 the non-overloaded lambda action operators. Also add some doxygen comments
5956 and remove attic code.
5957 * sigc++/adaptors/lambda/macros/group.h.m4: Fix a bug that resulted in
5958 gargabe values being passed on to the functor contained in the group adaptor
5959 (partly fixes #147313).
5961 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
5963 Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD into
5965 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
5967 * scripts/cxx.m4, sigc++config.h.in, configure.ac, *.h.m4:
5968 Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
5969 into SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
5970 and SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD.
5971 Remove LIBSIGC_TEMPLATE_PREFIX. Add template keyword to
5972 SIGC_WORKAROUND_OPERATOR_PARENTHESES depending on the configure
5974 Should fix the compiler problems with MSVC.
5976 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
5978 Use sigc::ptr_fun instead of std::ptr_fun. (fixes bug #144846)
5980 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
5982 * examples/hello_world.cc: Use sigc::ptr_fun instead of
5986 2004-07-11 Eric Bourque <ericb@computer.org>
5988 new file patched generate spec file ignore generated file (Martin Schulze)
5990 2004-07-11 Eric Bourque <ericb@computer.org>
5992 * libsigc++-2.0.spec.in: new file
5993 * configure.ac : patched generate spec file
5994 * .cvsignore: ignore generated file (Martin Schulze)
5995 * Makefile.am: distribute spec file (Martin Schulze)
5997 2004-07-11 Murray Cumming <murrayc@murrayc.com>
5999 Added some comments. operator=(): Check for self-asignment, though I do
6001 2004-07-11 Murray Cumming <murrayc@murrayc.com>
6003 * sigc++/connection.cc: Added some comments.
6004 * sigc++/trackable.cc: operator=(): Check for self-asignment, though I
6005 do not know of any actual bug that this fixes. Added some comments.
6006 * sigc++/trackable.h Added some doxygen documentation.
6008 2004-07-09 Murray Cumming <murrayc@murrayc.com>
6010 Added test_disconnect_during_emit.cc, to prove that this works.
6012 2004-07-09 Murray Cumming <murrayc@murrayc.com>
6014 * tests/: Added test_disconnect_during_emit.cc, to prove that this
6017 2004-07-08 Murray Cumming <murrayc@murrayc.com>
6019 foo::operator(int): return a value. The SUN Forte 5.5 compiler complains
6021 2004-07-08 Murray Cumming <murrayc@murrayc.com>
6023 * sigc++/tests/test_retype_return.cc: foo::operator(int): return a
6024 value. The SUN Forte 5.5 compiler complains about this, as it should.
6026 2004-07-08 Murray Cumming <murrayc@murrayc.com>
6028 class signal*: Rename the slot_list typedef to slot_list_type, because
6030 2004-07-08 Murray Cumming <murrayc@murrayc.com>
6032 * sigc++/macros/signal.h.m4: class signal*: Rename the slot_list
6033 typedef to slot_list_type, because there is already a template class
6034 called slot_type. SUN Forte 5.5 seems to complain about this and I am
6035 not surprised. The old typdef is still there for backwards
6036 compatibility, except when building with SUN Forte.
6038 2004-07-07 Murray Cumming <murrayc@murrayc.com>
6040 SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD(): Don't define the
6042 2004-07-07 Murray Cumming <murrayc@murrayc.com>
6044 * scripts/cxx.m4: SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD():
6045 Don't define the SIGC_TEMPLATE_SPECIALIZATOIN_OPERATOR_OVERLOAD C
6046 macro at all if the test fails. This might fix the build on SUN Forte.
6047 * sigc++/functors/macros/mem_fun.h.m4: Default constructor: Initialize
6048 the func_ptr_ member variable. I have no evidence that this solves any
6049 problems, but it worried me.
6050 * sigc++/functors/slot_base.h: operator bool(): Correct documentation,
6051 to use @code instead of <code>
6052 * sigc++/macros/signal.h.m4: Remove the documentation for the
6053 parameters named first and last, because they do not exist.
6055 2004-05-31 Martin Schulze <mschulze@cvs.gnome.org>
6057 Add '--force'-flag to the 'libtoolize'-command (bug #143425).
6059 2004-05-31 Martin Schulze <mschulze@cvs.gnome.org>
6061 * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425).
6063 2004-05-30 Martin Schulze <mschulze@cvs.gnome.org>
6065 Bump version number to 2.0.3. Add ChangeLog summary for version 2.0.3. Fix
6067 2004-05-30 Martin Schulze <mschulze@cvs.gnome.org>
6069 * configure.ac: Bump version number to 2.0.3.
6070 * NEWS: Add ChangeLog summary for version 2.0.3.
6071 * sigc++/macros/signal.h.m4: Fix segfault on emission of unconnected sig
6073 * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected sign
6075 * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
6076 dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead).
6078 2004-05-23 Martin Schulze <mschulze@cvs.gnome.org>
6080 Bump version number to 2.0.2. Add ChangeLog summary for version 2.0.2.
6082 2004-05-22 Martin Schulze <mschulze@cvs.gnome.org>
6084 * configure.ac: Bump version number to 2.0.2.
6085 * NEWS: Add ChangeLog summary for version 2.0.2.
6087 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
6089 If a custom accumulator is specified invoke it on signal emission even if
6091 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
6093 * sigc++/macros/signal.h.m4: If a custom accumulator is specified
6094 invoke it on signal emission even if the signal's slot list is empty.
6095 (This used to be the case in libsigc++-1.2 as pointed out by Timothy.)
6097 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
6099 Suppress compiler warning at dynamic_cast<>-test (suggested by Timothy M.
6101 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
6103 * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
6104 dynamic_cast<>-test (suggested by Timothy M. Shead).
6106 2004-05-01 Martin Schulze <mschulze@cvs.gnome.org>
6108 Updated for libsigc++-2.0.
6110 2004-05-01 Martin Schulze <mschulze@cvs.gnome.org>
6112 * README: Updated for libsigc++-2.0.
6114 2004-04-28 Martin Schulze <mschulze@cvs.gnome.org>
6116 Bump version number to 2.0.1. Add ChangeLog summary for version 2.0.1.
6118 2004-04-27 Martin Schulze <mschulze@cvs.gnome.org>
6120 * configure.ac: Bump version number to 2.0.1.
6121 * NEWS: Add ChangeLog summary for version 2.0.1.
6122 * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation.
6123 * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen.
6124 * scripts/cxx.m4, sigc++config.h.in, configure.ac,
6125 sigc++/adaptors/macros/bind.h.m4: Removed configure check. It
6126 showed that the Apple gcc can also compile the sophisticated version
6129 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
6131 Modified test for SigC::Object inheritance so that it also works if
6133 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
6135 * sigc++/macros/object_slot.h.m4: Modified test for SigC::Object
6136 inheritance so that it also works if SigC::Object is virtual base.
6137 (Fixes bug 141094 reported by Jonathan Brandmeyer)
6139 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
6141 Updated the configure check. It would probably have succeeded on the
6143 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
6145 * scripts/cxx.m4: Updated the configure check. It would probably
6146 have succeeded on the Apple.
6148 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
6150 Add work-arounds for bind<-1>::deduce_result_type compilation error on
6152 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
6154 * sigc++/adaptors/macros/bind.h.m4: Add work-arounds for
6155 bind<-1>::deduce_result_type compilation error on Apple gcc 3.3.
6156 * scripts/cxx.m4, sigc++config.h.in, configure.ac: Add configure
6157 check for the compilation error above.
6158 * sigc++/adaptors/lambda/macros/operator.h.m4: Replace _A with
6159 _Aa. _A is a reserved keyword on Apple gcc 3.3 (Spundun Bhatt).
6160 (fixes bug #10444 reported by Spundun Bhatt)
6162 2004-04-19 Martin Schulze <mschulze@cvs.gnome.org>
6164 Fixed serious bug in signal_base::impl(): Only reference a newly created
6166 2004-04-19 Martin Schulze <mschulze@cvs.gnome.org>
6168 * sigc++/signal_base.cc: Fixed serious bug in signal_base::impl():
6169 Only reference a newly created object (initial reference).
6170 (This fixes bug #140269 reported by Andris.)
6172 2004-04-19 Murray Cumming <murrayc@murrayc.com>
6174 Updated the operator() template check, because it failed with gcc 3.4
6176 2004-04-19 Murray Cumming <murrayc@murrayc.com>
6178 * scripts/cxx.m4: Updated the operator() template check, because it
6179 failed with gcc 3.4 (from cvs). Apparently the template keyword can
6180 only be used from another template.
6182 2004-04-12 Martin Schulze <mschulze@cvs.gnome.org>
6184 Bump version number to 2.0.0. Add ChangeLog summary for version 2.0.0.
6186 2004-04-06 Martin Schulze <mschulze@cvs.gnome.org>
6188 * configure.ac: Bump version number to 2.0.0.
6189 * NEWS: Add ChangeLog summary for version 2.0.0.
6190 * TODO, AUTHORS: Bring up to date.
6191 * sigc++-2.0.pc.in, Makefile.am: 1.9 -> 2.0
6192 * Added more documentation.
6194 2004-04-10 Murray Cumming <murrayc@murrayc.com>
6196 Implement blocked() to avoid undefined symbol linker error.
6198 2004-04-10 Murray Cumming <murrayc@murrayc.com>
6200 * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined
6201 symbol linker error.
6203 2004-04-07 Murray Cumming <murrayc@murrayc.com>
6205 dist the scripts directory.
6207 2004-04-08 Murray Cumming <murrayc@murrayc.com>
6209 * dist the scripts directory.
6211 2004-04-06 Martin Schulze <teebaum@cvs.gnome.org>
6213 Bump version number to 1.9.16. Add ChangeLog summary for version 1.9.16.
6215 2004-04-06 Martin Schulze <teebaum@cvs.gnome.org>
6217 * configure.ac: Bump version number to 1.9.16.
6218 * NEWS: Add ChangeLog summary for version 1.9.16.
6220 2004-04-02 Murray Cumming <murrayc@murrayc.com>
6222 Make block() and unblock() always return a value, to fix compiler
6224 2004-04-02 Murray Cumming <murrayc@murrayc.com>
6226 * sigc++/connection.cc: Make block() and unblock() always return a
6227 value, to fix compiler warnings. Patch from bug #138620 by
6228 Alexander Nedotsukov.
6230 2004-04-02 Murray Cumming <murrayc@murrayc.com>
6232 * Fix the compile of examples/member_method.cc. Bug #131701 from
6233 Kirill Smelkov. I also made the examples build as part of the regular
6236 2004-04-02 Murray Cumming <murrayc@murrayc.com>
6238 Remove every undef apart from the one we need, to avoid clashes, because
6240 2004-04-02 Murray Cumming <murrayc@murrayc.com>
6242 * sigc++config.h.m4: Remove every undef apart from the one we need, to
6243 avoid clashes, because we #include this in a public header.
6245 2004-03-25 Murray Cumming <murrayc@murrayc.com>
6247 Rename the template_keyword check to template_specialization, because the
6249 2004-03-25 Murray Cumming <murrayc@murrayc.com>
6251 * scripts/cxx.m4, configure.in, sigc++config.h.in: Rename the
6252 template_keyword check to template_specialization, because the problem
6253 is with or without the keyword.
6254 * sigc++/adaptors/macros/adaptor_trait.h.m4: Define
6255 SIGC_WORKAROUND_OPERATOR_PARENTHESES, which calls either operator() or
6256 sun_forte_workaround() depending on the result of the compiler test.
6257 * many .m4 files: Add sun_forte_workaround methods that call the
6258 operator() methods. Put them in #ifdefs so that only SUN Forte C++
6261 2004-03-21 Murray Cumming <murrayc@murrayc.com>
6263 Fix the sigc++config.h.in disting, to fix make distcheck.
6265 2004-03-22 Murray Cumming <murrayc@murrayc.com>
6267 * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting,
6268 to fix make distcheck.
6270 2004-03-21 Murray Cumming <murrayc@murrayc.com>
6272 Rename config.h.in to sigc++config.h.in so that gtkmm does not include
6274 2004-03-21 Murray Cumming <murrayc@murrayc.com>
6276 * Rename config.h.in to sigc++config.h.in so that gtkmm does not
6277 include some other config.h at strange times - fixes a problem in
6278 the gtkmm demos. This should really be in the sigc++ directory, but
6279 that seems to add that as an include path, which causes the STL
6280 headers to include sigc++/signal.h instead of some STL signal.h header.
6282 2004-03-20 Murray Cumming <murrayc@murrayc.com>
6284 Install the config.h platform-specific header. Report the include path for
6286 2004-03-20 Murray Cumming <murrayc@murrayc.com>
6288 * Makefile.am: Install the config.h platform-specific header.
6289 * sigc++-2.0.pc.in: Report the include path for config.h
6291 2004-03-19 Murray Cumming <murrayc@murrayc.com>
6293 Added config.h.in, using autoheader, from which config.h will be
6295 2004-03-20 Murray Cumming <murrayc@murrayc.com>
6297 * Added config.h.in, using autoheader, from which config.h will be
6298 generated, so we can detect compiler features.
6299 * configure.ac: Added AC_CONFIG_HEADER(config.h) to generate config.h
6301 * scripts/cxx.m4: Added this directory and file, with a
6302 SIGC_CXX_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD macro that defines
6303 the SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD C macro.
6304 * autogen.sh: Added -I scripts to the aclocal call, so that it finds
6305 the m4 macro for configure.ac.
6306 * sigc++/adapators/macros/adaptor_trait.h.m4: Include config.h and
6307 use SIGC_TEMPLATE_KEYOWRD_OPERATOR_OVERLOAD.
6309 2004-03-17 Martin Schulze <mschulze@cvs.gnome.org>
6311 Don't test making functors from overloaded methods with partial template
6313 2004-03-18 Martin Schulze <mschulze@cvs.gnome.org>
6315 * tests/test_mem_fun.cc, tests/test_ptr_fun.cc: Don't test
6316 making functors from overloaded methods with partial template
6317 specialization. Not portable among different compilers (SUN FORTE).
6318 * adaptors/macros/apdaptor_trait.h.m4: Only gcc seems to use the
6319 notation A.template operator()<...>(...) => adapt preprocessor check
6320 for #define LIBSIGC_TEMPLATE_PREFIX. TODO: replace with configure check.
6322 2004-03-13 Murray Cumming <murrayc@murrayc.com>
6324 slot_iterator_buf::operator*(): Use blocked() and empty() instead of
6326 2004-03-13 Murray Cumming <murrayc@murrayc.com>
6328 * g++ 3.4 (pre-release) build fixes:
6329 * sigc++/macros/signal.h.m4: slot_iterator_buf::operator*():
6330 Use blocked() and empty() instead of non-existant blocked_and_empty().
6331 * sigc++/functors/macros/mem_fun.h.m4: memfun_functor*::operator()():
6332 Use this->func_ptr_ instead of just func_ptr_.
6333 * sigc++/adaptors/macros/deduce_result_type.h.m4: Use
6334 T_functor::template deduce_result_type<> instead of just
6335 T_functor::deduce_result_type<>.
6336 * sigc++/adaptors/lambda/macros/base.h.m4, operator.h.m4, group.h.m4::
6337 Use template keyword again. operator[](): Use this->value_ instead of
6339 * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and
6341 * sigc++/adaptors/macros/compose.h.m4, hide.h.m4, bind_return.h.m4,
6342 exception_catch.h.m4:
6343 rettype.h.m4, rettype_return.h.m4: Use template keyword,and this-> again
6345 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
6347 Bump version number to 1.9.15. Add ChangeLog summary for version 1.9.15.
6349 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
6351 * configure.ac: Bump version number to 1.9.15.
6352 * NEWS: Add ChangeLog summary for version 1.9.15.
6354 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
6356 Make the unnumbered slot templates' copy ctors use the copy ctors of the
6358 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
6360 * sigc++/functors/macros/slot.h.m4: Make the unnumbered slot templates'
6361 copy ctors use the copy ctors of the base class. Fixes bug #24698.
6362 * tests/test_slot.cc: Test copy ctor (Bryan Forbes).
6364 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
6366 Bring it up-to-date (use sigc::ref). Make it work with the SUN Forte.
6368 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
6370 * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref).
6371 Make it work with the SUN Forte.
6373 2004-02-24 Martin Schulze <teebaum@cvs.gnome.org>
6375 Make is_base_and_derived<> work with the SUN Forte.
6377 2004-02-24 Martin Schulze <teebaum@cvs.gnome.org>
6379 * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte.
6381 2004-02-19 Martin Schulze <teebaum@cvs.gnome.org>
6383 Make is_base_and_derived<> platform independant. Make lambda_core<> ctors
6385 2004-02-19 Martin Schulze <teebaum@cvs.gnome.org>
6387 * sigc++/type_traits.h: Make is_base_and_derived<> platform independant.
6388 * sigc++/adaptors/lambda/macros/base.h.m4: Make lambda_core<> ctors
6389 explicit. Remove an unused ctor from lambda_core<T_type, true>.
6391 2004-02-14 Martin Schulze <teebaum@cvs.gnome.org>
6393 Move some documentation to slot_base.h. Move some documentation to
6395 2004-02-14 Martin Schulze <teebaum@cvs.gnome.org>
6397 * sigc++/functors/slot_base.h, sigc++/functors/macros/slot.h.m4:
6398 Move some documentation to slot_base.h.
6399 * sigc++/signal_base.h, sigc++/macros/signal.h.m4:
6400 Move some documentation to signal_base.h.
6403 * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates.
6404 Make unnumbered slot templates inherit from slot#.
6407 * sigc++/functors/macros/mem_fun.h.m4: Allow for methods of the object's
6408 base types to be passed into sigc::mem_fun(). (Used to be the case in
6411 2004-02-13 Murray Cumming <murrayc@usa.net>
6413 Create and use a typedef for the destroy_notify callback functions, to
6415 2004-02-13 Murray Cumming <murrayc@usa.net>
6417 * sigc++/functors/slot_base.[h|cc], sigc++/trackable.[h|cc]: Create
6418 and use a typedef for the destroy_notify callback functions, to avoid
6419 confusion function pointer declaration syntax in the API.
6421 2004-02-13 Murray Cumming <murrayc@murrayc.com>
6423 * Moved implementation to .cc files:
6424 * sigc++/functors/: Added slot_base.[h|cc] which contains non-template
6425 code that was previsouly in the generated functors/slot.h and
6426 non-generated slot.cc files. All non-inline implementation is now in
6428 * sigc++/functors/macros/slot.m4: Removed the code that has been moved
6429 to slot_base.[h|cc].
6430 * sigc++/: Added signal_base.[h|cc] which contains non-template code
6431 that was previously in the generated signal.h and non-generated
6432 signal.cc file. All non-inline implementation is now in the .cc file.
6433 * sigc++/macros/signal.m4: Removed the code that ahs been moved to
6435 * sigc++/connector.[h|cc]: method implementation moved to the .cc file.
6437 2004-02-13 Martin Schulze <teebaum@cvs.gnome.org>
6439 Bump version number to 1.9.14. Add ChangeLog summary for version 1.9.14.
6441 2004-02-13 Martin Schulze <teebaum@cvs.gnome.org>
6443 * configure.ac: Bump version number to 1.9.14.
6444 * NEWS: Add ChangeLog summary for version 1.9.14.
6446 2004-02-10 Murray Cumming <murrayc@usa.net>
6448 slot_base: Added operator bool(), needed to check for a slot that is
6450 2004-02-09 Murray Cumming <murrayc@usa.net>
6452 * sigc++/macros/slot.h.m4: slot_base: Added operator bool(), needed to
6453 check for a slot that is created with the default constructor. This was
6454 present in libsigc++ 1.2 also.
6456 2004-02-06 Murray Cumming <murrayc@usa.net>
6458 Build the docs directory, by adding it to SUBDIRS. Updated to be more
6460 2004-02-06 Murray Cumming <murrayc@usa.net>
6462 * Makefile.am: Build the docs directory, by adding it to SUBDIRS.
6463 * docs/Doxyfile.in: Updated to be more glibmm-like.
6464 * Added some @deprecated doxygen bits.
6465 * sigc++/macros/signal.h.m4: Call base constructor from signal_base
6466 constructor - this is an error-as-warning when building gtkmm.
6468 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
6470 Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
6472 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
6474 * configure.ac: Bump version number to 1.9.13.
6475 * NEWS: Add ChangeLog summary for version 1.9.13.
6476 * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
6477 Distribute MS .Net project files.
6478 * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
6479 documentation. Make hide_functor ctor explicit.
6481 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
6483 Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
6485 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
6487 * configure.ac: Bump version number to 1.9.13.
6488 * NEWS: Add ChangeLog summary for version 1.9.13.
6489 * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
6490 Distribute MS .Net project files.
6491 * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
6492 documentation. Make hide_functor ctor explicit.
6494 2003-11-11 Martin Schulze <teebaum@cvs.gnome.org>
6496 Change to zero-based argument index in numbered bind() and hide() overload
6498 2003-11-11 Martin Schulze <teebaum@cvs.gnome.org>
6500 * sigc++/adaptors/macros/[bind,hide].h.m4: Change to zero-based
6501 argument index in numbered bind() and hide() overload
6502 (Agreement on the mailing list).
6503 Support binding up to CALL_SIZE arguments with one bind adaptor.
6504 (Requested by joey yandle and others).
6505 Only support binding of multiple arguments in unnumberd overloads
6506 to keep the API simple (Requested by Murray Cumming).
6507 * tests/test_[bind,hide,functor_trait].cc, sigc++/bind.h:
6508 Reflect API changes in compatibility module and test cases.
6510 2003-11-10 Martin Schulze <teebaum@cvs.gnome.org>
6512 Add unnumbered bind() and hide() overloads to make specifying the argument
6514 2003-11-10 Martin Schulze <teebaum@cvs.gnome.org>
6516 * sigc++/adaptors/macros/[bind,hide].h.m4: Add unnumbered
6517 bind() and hide() overloads to make specifying the argument
6518 position optional (Proposed by Jeff Franks).
6519 * tests/test_[bind,hide].cc: Test unnumbered bind() and hide().
6520 * sigc++/adaptors/macros/adaptor_trait.h.m4:
6521 Change "#ifdef MSVC" to "#ifdef _MSC_VER" (Roel Vanhout).
6523 2003-11-09 Martin Schulze <teebaum@cvs.gnome.org>
6525 Change functor type in typed_slot_rep to
6527 2003-11-09 Martin Schulze <teebaum@cvs.gnome.org>
6529 * sigc++/functors/macros/slot.h.m4: Change functor type in
6530 typed_slot_rep to adaptor_trait::adaptor_type<T_functor>
6531 and use explicit function template instantiation in
6532 internal::slot_call::call_it(). Avoids copying of arguments
6533 in call_it() and enables binding of object instances
6534 to class methods through bind() (Reported by Jeff Franks).
6535 * tests/test_bind.cc: Test binding object instances to
6536 class methods through bind().
6537 * sigc++/adaptors/adaptors.h: Include retype[_result].h.
6538 * sigc++/adaptors/macros/adaptor_trait.h.m4:
6539 - Add documentation.
6540 - Mark some c-tors as explicit.
6541 - Remove ununsed operator T_functor&() from adaptor_functor.
6542 * sigc++/adaptors/macros/deduce_result_type.h.m4:
6543 Rewrite parts of the documentation.
6544 * sigc++/adaptors/macros/bind.h.m4: Add documentation.
6545 * sigc++/functors/macros/mem_fun.h.m4: Remove unnecessary
6546 explicit markers. Minor fixes to documentation.
6547 * sigc++/functors/macros/functor_trait.h.m4:
6548 Minor fixes to documentation.
6550 2003-11-04 Martin Schulze <teebaum@cvs.gnome.org>
6552 Bump version number to 1.9.12. Add ChangeLog summary for version 1.9.12.
6554 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
6556 * configure.ac: Bump version number to 1.9.12.
6557 * NEWS: Add ChangeLog summary for version 1.9.12.
6559 2003-11-03 Martin Schulze <teebaum@cvs.gnome.org>
6561 Document accumulators. Move slot_iterator_buf into namespace internal.
6563 2003-11-03 Martin Schulze <teebaum@cvs.gnome.org>
6565 * sigc++/macros/signal.h.m4: Document accumulators.
6566 Move slot_iterator_buf into namespace internal. Since
6567 accumulators have the iterator type as a template argument
6568 there is no need to expose this very internal type.
6569 * sigc++/functors/macros/*.m4: Regroup documentation.
6570 Documentation of the core parts of the library should be
6573 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
6575 Improve documentation of the core parts of the library. Test ptr_fun()
6577 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
6579 * Improve documentation of the core parts of the library.
6580 * tests/test_ptr_fun.cc: Test ptr_fun() with static
6583 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
6585 Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
6587 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
6589 * Move all .m4 files into new subdirectories
6590 sigc++/[...]/macros. Install the .m4 files on
6591 "make install" (Reported by Ron Steinke).
6593 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
6595 Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
6597 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
6599 * Move all .m4 files into new subdirectories
6600 sigc++/[...]/macros. Install the .m4 files on
6601 "make install" (Reported by Ron Steinke).
6603 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
6605 Include sigc++/functors/mem_fun.h (Reported by Ron Steinke).
6607 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
6609 * sigc++/[class,method,object]_slot.h.m4: Include
6610 sigc++/functors/mem_fun.h (Reported by Ron Steinke).
6612 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
6614 Add negation operator I have completely overlooked until now. Test
6616 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
6618 * sigc++/adaptors/lambda/operator.h.m4: Add negation
6619 operator I have completely overlooked until now.
6620 * sigc++/tests/test_lambda.cc: Test negation operator.
6622 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
6624 - Use a shorter notation for ..._mem_function variants. - Change order of
6626 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
6628 * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
6629 sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
6630 - Use a shorter notation for ..._mem_function variants.
6631 - Change order of mem_funcotr<>'s template arguments to
6632 match std::mem_fun_t and to be more consistent with adaptors.
6633 - Use ::sigc::slot's implicit ctor in compatibility module.
6634 * sigc++/adaptors/lambda/operator.h.m4: Change some
6635 lambda action names to match action names in std.
6638 * sigc++/adaptors/retype.h.m4: New file adding
6640 * sigc++/Makefile.am: Build and distribute new file.
6641 * tests/test_retype.cc: New file testing adaptor retype.
6642 * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
6643 tests/Makefile.am: Build and distribute new test case.
6645 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
6647 - Use a shorter notation for ..._mem_function variants. - Change order of
6649 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
6651 * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
6652 sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
6653 - Use a shorter notation for ..._mem_function variants.
6654 - Change order of mem_funcotr<>'s template arguments to
6655 match std::mem_fun_t and to be more consistent with adaptors.
6656 - Use ::sigc::slot's implicit ctor in compatibility module.
6657 * sigc++/adaptors/lambda/operator.h.m4: Change some
6658 lambda action names to match action names in std.
6661 * sigc++/adaptors/retype_return.h.m4: New file adding
6663 * sigc++/Makefile.am: Build and distribute new file.
6664 * tests/test_retype.cc: New file testing adaptor retype.
6665 * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
6666 tests/Makefile.am: Build and distribute new test case.
6668 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
6670 New directory containing project files for Visual Studio .Net 2003.
6672 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
6674 * MSVC_Net2003: New directory containing project
6675 files for Visual Studio .Net 2003.
6676 Credits to Roel Vanhout <roel@riks.nl>!
6678 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
6680 Use LIBSIGC_TEMPLATE_PREFIX in explicit function template instantiations.
6682 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
6684 * sigc++/retype.h.m4: Use LIBSIGC_TEMPLATE_PREFIX
6685 in explicit function template instantiations.
6686 * sigc++/type_traits.h: Add template specialization
6687 for arrays (T_type[N]) to disable non-working member
6688 type_trait<T_type[N]>::instance().
6689 * sigc++/visit_each.h: Remove more disturbing
6690 limit_derived_target<>::operator() overloads.
6691 (Should have noticed earlier that they are unnecessary.)
6692 * sigc++/adaptors/deduce_result_type.h.m4,
6693 sigc++/adaptors/lambda/operator.h.m4,
6694 sigc++/functors/functor_trait.h.m4,
6695 tests/test_[bind,compose,exception_catch,hide,lambda].cc:
6696 Completely removed support for typeof(). We don't need
6697 it any more and it is completely non-standard!
6699 2003-10-31 Cedric Gustin <cedric.gustin@swing.be>
6701 Added test of win32 platform. Commented out AM_DISABLE_SHARED (DLLs are
6703 2003-10-30 Cedric Gustin <cedric.gustin@swing.be>
6705 * configure.ac: Added test of win32 platform. Commented
6706 out AM_DISABLE_SHARED (DLLs are shared libraries).
6707 * sigc++/Makefile.am: added a few LDFLAGS for win32
6710 2003-10-30 Martin Schulze <teebaum@cvs.gnome.org>
6712 Add SigC::Signal#<>::slot(). Comment out make_slot() work-around. Remove
6714 2003-10-30 Martin Schulze <teebaum@cvs.gnome.org>
6716 * sigc++/signal.h.m4: Add SigC::Signal#<>::slot().
6717 * sigc++/slot.h.m4: Comment out make_slot() work-around.
6718 * sigc++/adaptors/bind.h.m4: Remove unnecessary brackets
6719 in template argument lists. They are confusing MSVC.
6720 * sigc++/adaptors/*.h.m4, sigc++/adaptors/lambda/*.h.m4:
6721 Use LIBSIGC_TEMPLATE_PREFIX in explicit function
6722 template instantiations.
6723 * sigc++/tests/test_*.cc:
6724 - Include <string> where std::string is used.
6725 - Use double instead of float.
6727 2003-10-27 Martin Schulze <teebaum@cvs.gnome.org>
6729 Cleanup. Bring it up to date.
6731 2003-10-27 Martin Schulze <teebaum@cvs.gnome.org>
6733 * sigc++/retype.h.m4: Cleanup.
6734 * TODO: Bring it up to date.
6736 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
6738 Bump version number to 1.9.11. Add ChangeLog summary for version 1.9.11.
6740 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
6742 * configure.ac: Bump version number to 1.9.11.
6743 * NEWS: Add ChangeLog summary for version 1.9.11.
6745 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
6747 Compatiblity module: Move definition of compatiblity classes SigC::SignalN
6749 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
6751 Compatiblity module:
6752 * sigc++/signal.h.m4: Move definition of compatiblity
6753 classes SigC::SignalN to here.
6754 * sigc++/connection.h:
6755 - Add connection::connected().
6756 - Add compatibility typedef SigC::Connection.
6757 * sigc++/bind.h, sigc++/bind_return.h,
6758 sigc++/class_slot.h.m4, sigc++/hide.h.m4,
6759 sigc++/method_slot.h.m4, sigc++/object.h,
6760 sigc++/object_slot.h.m4, sigc++/retype.h.m4,
6761 sigc++/retype_return.h sigc++/slot.h.m4,
6762 sigc++/compatibility.h:
6763 New files to complete compatibility module.
6764 Split content of compatibility.h.m4 among the new files.
6765 * sigc++/compatibility.h.m4: Removed.
6766 * Makefile.am: Build and distribute new files.
6767 * tests/test_compatibility.cc: Test new stuff.
6770 * sigc++/functors/slot.h.m4: Fix copy constructor and
6771 operator=() of slot template.
6772 * sigc++/adaptors/bind.h.m4: Fix deduce_result_type
6773 template specializations. bind<0>() probably compiles
6776 2003-10-25 Martin Schulze <teebaum@cvs.gnome.org>
6780 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
6783 * sigc++/functors/slot.{cc,h.m4}:
6784 - Fix notification process: don't defer detaching of a
6785 slot from all referred trackables during signal emission!
6786 - Size optimization: replace virtual functions from
6787 struct typed_slot_rep with function pointers in slot_rep
6788 (reduces size of a typical typed_slot_rep instantiation
6790 * tests/test_slot.cc: Test sigc::slot more thoroughly.
6791 * sigc++/functors/mem_fun.h.m4: Fix visit_each().
6792 * sigc++/adaptos/bind_return.h.m4: Add support for
6794 * tests/test_bind_return.cc: Use sigc::ref().
6795 * sigc++/signal.h.m4: Avoid compiler warning about
6796 uninitialized variable r_ in emit().
6797 * sigc++/visit_each.h: Cleanup.
6800 * sigc++/adpators/lambda/operators.h.m4: Add
6801 lambda actions sigc::{reinterpret,static,dynamic}_cast_
6802 to support explicit parameter conversion.
6803 * tests/test_lambda.cc: Test sigc::static_cast_.
6804 * sigc++/adaptors/retype_return.h.m4: New file adding
6805 adaptor retype_return (and hide_return).
6806 * sigc++/Makefile.am: Build and distribute new file.
6807 * tests/test_retype_return.cc: New file testing
6808 adaptor retype_return (and hide_return).
6809 * tests/Makefile.am: Build and distribute new test case.
6811 2003-10-24 Martin Schulze <teebaum@src.gnome.org>
6813 update .cvsignore files
6815 2003-10-24 Martin Schulze <teebaum@cvs.gnome.org>
6817 Remove disturbing limit_derived_target<>::operator() overloads. Add
6819 2003-10-25 Martin Schulze <teebaum@cvs.gnome.org>
6821 * sigc++/visit_each.h: Remove disturbing
6822 limit_derived_target<>::operator() overloads.
6823 * sigc++/adaptors/bind.h.m4: Add support for sigc::ref().
6824 * tests/test_bind.cc: Test sigc::ref().
6825 * sigc++/adaptors/lambda/{operator,group,base}.h.m4:
6826 - Move support for sigc::ref() from lambda_core<> into
6827 lambda operator and lambda group creator functions.
6828 - Add missing visit_each() overload for lambda<> template.
6829 * tests/test_lambda.cc: Test auto-disconnection.
6830 TODO: Fix a strange bug that leads to "Bus error"
6831 during auto-disconnection.
6833 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
6835 Bump version number to 1.9.10. Add ChangeLog summary for version 1.9.10.
6837 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
6839 * configure.ac: Bump version number to 1.9.10.
6840 * NEWS: Add ChangeLog summary for version 1.9.10.
6842 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
6844 Move definition of struct nil into functor_trait.h.
6846 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
6848 * sigc++/functors/{functor_trait,slot}.h.m4:
6849 Move definition of struct nil into functor_trait.h.
6851 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
6853 Move definition of struct nil into functor_trait.h.
6855 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
6857 * sigc++/functors/{functor_trait,slot}.h.m4:
6858 Move definition of struct nil into functor_trait.h.
6860 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
6862 Disable typeof() compiler checks. Remove unnecessary deduce_result_type<>
6864 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
6866 * configure.ac: Disable typeof() compiler checks.
6867 * sigc++/adaptors/bind.h.m4: Remove unnecessary
6868 deduce_result_type<> template specializations.
6870 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
6872 Correct order of typedefs for good. (Patch from Jeff Franks.)
6874 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
6876 * sigc++/adaptors/compose.h.m4:
6877 Correct order of typedefs for good. (Patch from Jeff Franks.)
6879 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
6881 Add constructor that takes a sigc::slot_base& to support 3rd-party slot
6883 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
6885 * sigc++/connection.h: Add constructor that takes
6886 a sigc::slot_base& to support 3rd-party slot lists
6887 like they are used in glibmm/gtkmm.
6888 * sigc++/functors/slot.h.m4: Make sigc::slot::call_type public.
6889 (Fixes compile problems reported by Jeff Franks.)
6890 * sig++/type_traits.h: Don't use long long in
6891 sigc::is_base_and_derived.
6892 (Fixes compile problems reported by Jeff Franks.)
6893 * sigc++/adaptors/{bind,compose,hide,exception_catch}.h.m4:
6894 Correct order of typedefs. (Repoted by Jeff Franks.)
6895 * configure.ac: Bump version number to 1.9.9.
6896 * NEWS: Add ChangeLog summary for version 1.9.9.
6898 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
6900 Define doxygen group functors. Bump version number to 1.9.8. Add ChangeLog
6902 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
6904 * sigc++/functors/slot.h.m4: Define doxygen group functors.
6905 * configure.ac: Bump version number to 1.9.8.
6906 * NEWS: Add ChangeLog summary for version 1.9.8.
6908 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
6910 Add announces of versions 1.9.6 and 1.9.7. New file. Defines namespace
6912 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
6914 * NEWS: Add announces of versions 1.9.6 and 1.9.7.
6915 * sigc++/compatibility.h.m4: New file. Defines namespace SigC.
6916 namespace SigC should be API compatible to libsigc++-1.2.
6917 * sigc++/Makefile.am: Build compatibility.h.
6918 * tests/test_compatibility.cc, tests/Makefile.am:
6919 Add test case for compatibility module.
6920 * docs/index.html: Change group names.
6921 * sigc++/sigc++.h: Include connection.h.
6922 * sigc++/connection.{cc,h}:
6923 - Rename dependency to destroy_notify_callback.
6924 - Change parameter name in set_slot() from d to data.
6925 - Fix operator=(): Add "return *this;"
6926 - Get rid of namespace functor.
6927 - Corrections in documentation.
6928 * sigc++/signal.{cc,h.m4}:
6929 - Add reference counter to signal_impl. Replaces "bool destroy_".
6930 - Move signal_base, slot_iterator[_buf], slot_list out of
6931 namespace internal. They are part of the public API.
6932 - Add convenience function signal#::make_slot().
6933 - Get rid of namespace functor.
6934 - Corrections in documentation.
6935 * sigc++/trackable.{cc,h}:
6936 - Rename dependency to destroy_notify_callback.
6937 - Rename trackable::clear() to trackable::notify_callbacks().
6938 - Corrections in documentation.
6939 * sigc++/type_traits.h: Add documentation.
6940 * sigc++/visit_each.h:
6941 - Get rid of namespace functor.
6942 - Add documentation.
6943 * sigc++/adaptors[/lambda]/*: Get rid of namespace functor.
6944 * sigc++/functors/{functor_trait.h,ptr_fun.h.m4,mem_fun.h.m4}:
6945 - Get rid of namespace functor.
6946 - Corrections in documentation / add documentation.
6947 * sigc++/functors/slot.{cc,h.m4}:
6948 - Move slot_base out of namespace internal. It's public API.
6949 - Get rid of one-letter-parameter-names.
6950 - Get rid of namespace functor.
6951 - Corrections in documentation.
6952 * tests/*.cc: Get rid of "using namespace ...".
6954 2003-09-10 Martin Schulze <teebaum@cvs.gnome.org>
6956 Add subscript ([]) and assign (=) operator. I think there are now enough
6958 2003-09-10 Martin Schulze <teebaum@cvs.gnome.org>
6960 * sigc++/adaptors/lambda/{base,operators}.h.m4:
6961 Add subscript ([]) and assign (=) operator. I think there are now
6962 enough operators available to make any future power user happy.
6963 The only one missing is the comma operator and if we added it
6964 the logical consequence would be to also add if(), switch(), do(),
6965 etc. lambda expressions which are really out of place in libsigc++.
6966 * sigc++/type_traits.h: Fix is_base_and_derived<> for const types.
6967 * tests/test_lambda.cc: Test new operators.
6969 2003-09-04 Martin Schulze <teebaum@cvs.gnome.org>
6971 Bump version number to 1.9.7.
6973 2003-09-05 Martin Schulze <teebaum@cvs.gnome.org>
6975 * configure.ac: Bump version number to 1.9.7.
6977 2003-09-03 Martin Schulze <teebaum@cvs.gnome.org>
6979 - Restructure so that the size of the generated source file stays
6981 2003-09-03 Martin Schulze <teebaum@cvs.gnome.org>
6983 * sigc++/adaptors/lambda/operator.h.m4:
6984 - Restructure so that the size of the generated source file stays
6985 reasonable for 34 operators: There are only two lambda templates
6986 lambda_operator and lambda_operator_unary. The action is an additional
6987 template parameter. A small template lambda_action[_unary] is specialized
6989 - Add most operators that boost::lambda supports. Missing operators are
6990 "=", "[]", "," and support for pointer arithmetic. I don't know if it's
6991 worth adding these. In libsigc++, the purpose of lambda operators is to
6992 provide some extra functionality for the group adaptor.
6993 * tests/test_lambda.cc:
6994 Test pre-increment, address and dereference operator.
6996 2003-09-03 Martin Schulze <teebaum@cvs.gnome.org>
6998 New file reference_wrapper.h provides ref() to specify that
7000 2003-08-31 Martin Schulze <teebaum@cvs.gnome.org>
7002 * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
7003 New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
7004 should take a reference to the object passed into ref() instead of a copy.
7006 2003-08-31 Martin Schulze <teebaum@cvs.gnome.org>
7008 New file reference_wrapper.h provides ref() to specify that
7010 2003-08-31 Martin Schulze <teebaum@cvs.gnome.org>
7012 * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
7013 New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
7014 should take a reference to the object passed into ref() instead of a copy.
7015 * tests/test_lambda.cc:
7016 - Test group() with mem_fun().
7017 - Use ref() where lambdas should store references to objects.
7018 - Test var() and constant().
7019 * sigc++/adaptors/lambda/base.h.m4:
7020 - Support ref() in return type deduction.
7021 - Add var() and constant() which create lambdas for usage with lambda operators.
7022 * sigc++/adaptors/lambda/operator.h.m4:
7023 - Fix return type deduction.
7024 - Remove operator{+,-,*,...} overloads added on 2003-08-29. ref() is way cleaner.
7025 * sigc++/adaptors/lambda/group.h.m4,
7026 sigc++/adaptors/bind.h.m4, sigc++/adaptors/compose.h.m4,
7027 sigc++/adaptors/exception_catch.h.m4, sigc++/adaptors/hide.h.m4:
7028 Fix return type deduction.
7030 2003-08-29 Martin Schulze <teebaum@cvs.gnome.org>
7032 Add more tests. Make _1, _2, ... constant. Add operator{+,-,*,...}
7034 2003-08-29 Martin Schulze <teebaum@cvs.gnome.org>
7036 * tests/test_lambda.cc: Add more tests.
7037 * sigc++/adaptors/lambda/select.h.m4, sigc++/adaptors/lambda/lambda.cc.m4:
7038 Make _1, _2, ... constant.
7039 * sigc++/adaptors/lambda/operator.h.m4:
7040 Add operator{+,-,*,...} overloads to distinguish between const and non-const objects.
7041 Store references to non-const objects rather than copies.
7042 This allows expressions like e.g. std::cout << _1.
7043 * sigc++/adaptors/lambda/base.h.m4, sigc++/adaptors/lambda/group.h.m4:
7044 Remove void specializations. Functors returning void are tested and work fine.
7046 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
7048 Rename, correct and improve this test case. Build and run
7050 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
7052 * tests/test_callof.cc, tests/test_deduce_result_type.cc:
7053 Rename, correct and improve this test case.
7054 * tests/Makefile.am: Build and run test_deduce_result_type
7055 instead of test_callof.
7057 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
7061 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
7065 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
7067 Remove usage of callof_ignore_arg<>. Remove the first and move
7069 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
7071 * sigc++/adaptors/hide.h.m4: Remove usage of callof_ignore_arg<>.
7072 * sigc++/callof.h.m4, sigc++/adaptors/deduce_result_type.h.m4,
7073 sigc++/functors/functor_trait.h.m4:
7074 Remove the first and move deduce_result_type templates from
7075 functor_trait.h.m4 into new file deduce_result_type.h.m4.
7076 * sigc++/Makefile.am, sigc++/sigc++.h, sigc++/adaptors/adaptor_trait.h.m4:
7077 Build and include sigc++/adaptors/deduce_result_type.h instead of callof.h.
7078 * sigc++/functors/slot.h.m4: Document struct nil.
7080 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
7082 * sigc++/functors/functor_trait.h.m4: Simplify usage of convenience
7083 macro SIGC_FUNCTORS_HAVE_RESULT_TYPE:
7084 namespace sigc{ namespace functor{ SIGC_FUNCTORS_HAVE_RESULT_TYPE }}
7086 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
7088 Merge adaptor return type deduction and typeof() into
7090 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
7092 * sigc++/functors/functor_trait.h,m4, sigc++/adaptors[/lambda]/*.h.m4:
7093 Merge adaptor return type deduction and typeof() into
7094 sigc::functor::deduce_result_type. Use it for all adaptors.
7095 * tests/test_compose.cc: Only test multi-type get-functor if
7096 typeof() if supported.
7098 2003-08-23 Martin Schulze <teebaum@cvs.gnome.org>
7100 - Remove unnecessary void specializations. In fact, only the one for
7102 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
7104 * sigc++/adaptors[/lambda]/*.h.m4:
7105 - Remove unnecessary void specializations. In fact, only the one
7106 for sigc::functor::exception_catch<> is needed and I don't really
7107 understand why. For the lambda stuff the void specializatoins are
7108 just commented out at the moment.
7109 - Make typeof() optional. Surprisingly, I got the lambda stuff working
7110 without typeof()! The test suite doesn't catch all cases yet, so maybe
7111 some thing are still not working.
7112 TODO: Implement configure check.
7113 * tests/test_bind.cc, tests/test_compose.cc tests/test_exception_catch.cc,
7114 tests/test_hide.cc, tests/test_lambda.cc:
7115 Only test multiple functor return types if typeof() is supported.
7117 2003-08-06 Martin Schulze <teebaum@cvs.gnome.org>
7119 Add function trackable::clear().
7121 2003-08-06 Martin Schulze <teebaum@cvs.gnome.org>
7123 * sigc++/trackable.{cc,h}: Add function trackable::clear().
7125 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
7129 * TODO: Minor tweaks.
7131 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
7135 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
7137 Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
7139 * docs/reference/Doxyfile.in: Use these variables.
7140 * docs/reference/Makefile.am (html/index.html): Provide doxygen
7141 with SRCDIR and TOP_SRCDIR environment variables.
7143 * sigc++/functors/slot.h.m4: Make slot::call_type typedef public;
7144 this fixes a g++ 3.3 error in signal.h.
7146 * sigc++/signal.h.m4: Make the signal::accumulated class public;
7147 this fixes a g++ 3.3 error in test_accumulated.cc.
7149 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
7151 Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
7153 * docs/reference/Doxyfile.in: Use these variables.
7154 * docs/reference/Makefile.am (html/index.html): Provide doxygen
7155 with SRCDIR and TOP_SRCDIR environment variables.
7157 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
7159 Make slot::call_type typedef public; this fixes a g++ 3.3 error in signal.h.
7161 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
7163 Make the signal::accumulated class public; this fixes a g++ 3.3 error in test_accumulated.cc.
7165 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
7167 Added comment author annotation.
7169 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
7171 .cvignore additions.
7173 2003-06-15 Martin Schulze <teebaum@cvs.gnome.org>
7175 Correct typing error in docs. Document the whole thing.
7177 2003-06-15 Martin Schulze <teebaum@cvs.gnome.org>
7179 * sigc++/functor/slot.h.m4: Correct typing error in docs.
7180 * sigc++/functor/ptr_fun.h.m4: Document the whole thing.
7182 2003-05-31 Murray Cumming <murrayc@usa.net>
7184 Rearranged the groups to make it all a bit more like the libsigc++ 1.2
7186 2003-05-31 Murray Cumming <murrayc@usa.net>
7188 * Reference documentation: Rearranged the groups to make it all
7189 a bit more like the libsigc++ 1.2 reference documentation.
7190 Corrected some spelling and grammar too.
7191 This needs a lot of work. The text is very hard to read and it's
7192 generally not appropriate for a user of the code who doesn't
7193 care about the internals. But it's not impossible - our examples
7194 should show us what we need to say in the documentation.
7195 We probably need some more groups for the extra stuff, like we do
7198 2003-05-30 Martin Schulze <martin-ml@hippogriff.de>
7200 Fix documentation. Document the whole thing.
7202 2003-05-29 Martin Schulze <martin-ml@hippogriff.de>
7204 * sigc++/signal.h.m4: Fix documentation.
7205 * sigc++/connection.h, sigc++/functor/slot.h.m4:
7206 Document the whole thing.
7208 2003-05-29 Martin Schulze <martin-ml@hippogriff.de>
7210 - Remove bogus operator() from unnumbered signal<> and
7212 2003-05-29 Martin Schulze <martin-ml@hippogriff.de>
7214 * sigc++/signal.h.m4:
7215 - Remove bogus operator() from unnumbered signal<> and
7216 signal<>::accumulated templates.
7217 - Document the whole thing.
7219 * docs/index.html: Fix some links.
7221 2003-04-06 Martin Schulze <MHL.Schulze@t-online.de>
7223 Add Doxygen framework.
7225 2003-04-06 Martin Schulze <MHL.Schulze@t-online.de>
7227 * TODO, configure.ac, Makefile.am, docs/*:
7228 Add Doxygen framework.
7230 2003-04-05 Martin Schulze <MHL.Schulze@t-online.de>
7232 Move sigc::callof<> to sigc::functor::internal::callof<>.
7234 2003-04-06 Martin Schulze <MHL.Schulze@t-online.de>
7236 * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc:
7237 Move sigc::callof<> to sigc::functor::internal::callof<>.
7239 * sigc++/functors/mem_fun.h.m4, tests/test_mem_fun.cc:
7240 Add new types [bound_][const_]volatile_mem_functor, visit_each()
7241 and mem_fun() overloads for volatile qualifier.
7242 Add ctor overloads in bound_*mem_functor and mem_fun() overloads
7243 that take reference instead of pointer.
7245 2003-03-26 Martin Schulze <MHL.Schulze@t-online.de>
7247 Change "closure" to "slot" throughout sigc++2 (file names, class names,
7249 2003-03-26 Martin Schulze <MHL.Schulze@t-online.de>
7251 * Change "closure" to "slot" throughout sigc++2 (file names,
7252 class names, member variables, documentation, etc.).
7254 2003-03-25 Martin Schulze <MHL.Schulze@t-online.de>
7256 Rewrite to reflect recent changes as well as recent discussions.
7258 2003-03-26 Martin Schulze <MHL.Schulze@t-online.de>
7260 * TODO: Rewrite to reflect recent changes as well as recent discussions.
7262 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
7264 Make the adaptor's data member public so that visit_each() can access it.
7266 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
7268 * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member
7269 public so that visit_each() can access it.
7271 * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about
7272 malfunctioning typeof() (probably compiler bug in gcc-3.2).
7274 * tests/*.cc: Test references. Fix compose equivalent in test_lambda.
7276 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
7278 Move detection of function and member method pointers' return types from
7280 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
7282 * sigc++/Makefile.am, sigc++/functors/functor_trait.h[.m4],
7283 sigc++/adaptors/adaptor_trait.h.m4: Move detection of function
7284 and member method pointers' return types from adaptor_trait into
7285 functor_trait. (We'll use functor_trait rather than adaptor_trait for
7286 our lambda stuff.) functor_trait.h needs to be generated from .m4 now.
7288 * sigc++/functors/functor_trait.h.m4: Add convenience macros:
7289 - SIGC_FUNCTORS_HAVE_RESULT_TYPE indicates that the existance of
7290 T_functor::result_type should be assumed for all unknown functors.
7291 - SIGC_FUNCTOR_TRAIT(T_functor, T_result) explicitly specifies the
7292 result type of a functor.
7293 ("typename functor_trait<T_functor>::result_type") is used to
7294 determine the return type of our adaptors' operator()() overloads.
7296 * sigc++/adaptors/[lambda/]*.h.m4: Various fixes in visit_each() and
7297 operator()() overloads to make these operator()() overloads usable.
7298 Most of them were just commented out before. Some adaptor types also
7299 have void specializations, now.
7301 * sigc++/adaptors/lambda/group.h.m4: Change syntax from
7302 "[some_functor] % grp([args])" to "group([some_functor], [args])"
7303 like we agreed on the ml some time ago.
7305 * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work
7308 2003-03-22 Murray Cumming <murrayc@usa.net>
7310 Added pgk-config file, from a mystery person in bug #108857
7312 2003-03-22 Murray Cumming <murrayc@usa.net>
7314 * Added pgk-config file, from a mystery person in bug #108857
7316 2003-03-22 Martin Schulze <MHL.Schulze@t-online.de>
7318 Test and show how to use functor_trait for user defined or 3rd-party
7320 2003-03-22 Martin Schulze <MHL.Schulze@t-online.de>
7322 * tests/test_bind.cc: Test and show how to use functor_trait
7323 for user defined or 3rd-party functors so that a
7324 bind<0>([functor],[arg1])() call with no arguments can return a value.
7326 2003-03-20 Martin Schulze <MHL.Schulze@t-online.de>
7328 Add explanations. Comment in / create templates callof_safe[#].
7330 2003-03-20 Martin Schulze <MHL.Schulze@t-online.de>
7332 * sigc++/callof.h.m4: Add explanations. Comment in / create templates
7333 callof_safe[#]. Unfortunately they don't work for functors with overloaded
7334 operator() so we don't use it for now. At least everything is documented.
7336 * sigc++/functors/functor_trait.h, sigc++/functors/*.h.m4: Add back
7337 functor_base compiler hint. We're using it now in adaptor_functor<>.
7339 * sigc++/adaptors/{adaptor_trait,bind}.h.m4: Make operator() overloads
7340 with no arguments return the result of the functor invocation.
7341 Fix multiple bind<0>().
7342 * tests/test_bind.cc: Test the stuff that's working now.
7344 2003-03-16 Murray Cumming <murrayc@usa.net>
7346 Added sigc++/sigc++.h, like in libsigc++ 1.2 Added member_method example,
7348 2003-03-16 Murray Cumming <murrayc@usa.net>
7350 * Added sigc++/sigc++.h, like in libsigc++ 1.2
7351 * examples: Added member_method example, which uses a class method
7352 and which demonstrates disconnection.
7354 2003-03-13 Martin Schulze <teebaum@src.gnome.org>
7356 Bump version to 1.9.6.
7358 2003-03-11 Andreas Rottmann <rotty@src.gnome.org>
7360 Use substitution references instead of $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball bug.
7362 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
7364 Add block() capability.
7366 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
7368 * sigc++/connection.h: Add block() capability.
7370 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
7372 Add flag signal_impl::destroy_ and function signal_impl::destroy(). Use
7374 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
7376 * sigc++/signal.{cc,h.m4}: Add flag signal_impl::destroy_
7377 and function signal_impl::destroy(). Use them to defer
7378 the destruction of the signal_impl object during signal
7381 * tests/test_disconnect.cc: Add tests for the connection
7382 class and for deleting signals during emission.
7384 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
7386 - New files that add a connection class. Objects of this class are
7388 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
7390 * sigc++/connection.{cc,h}, sigc++/Makefile.am:
7391 - New files that add a connection class. Objects of this
7392 class are constructed from closure list iterators and can
7393 be used to disconnect the refered closure. As opposed to
7394 iterators they stay valid beyond the lifetime of the closure.
7396 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
7398 - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_. - Make
7400 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
7402 * sigc++/functors/closure.{cc,h.m4}, sigc++/signal.cc:
7403 - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_.
7404 - Make closure_rep inherit trackable. This allows for
7405 connection objects that stay valid beyond the life time
7406 of the refered closure.
7407 - Make some one-line-functions inline again.
7409 2003-03-08 Martin Schulze <MHL.Schulze@t-online.de>
7411 BUGFIX in trackable_dep_list::clear()
7413 2003-03-08 Martin Schulze <MHL.Schulze@t-online.de>
7415 * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear()
7417 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
7419 Ignore `make dist' tarballs.
7421 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
7423 The "The New Build System" changes.
7425 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
7427 Re-included lambda test.
7429 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
7431 Removed. Removed. Removed. Remove the above Makefiles.
7433 * sigc++/functors/Makfile.am: Removed.
7434 * sigc++/adaptors/Makefile.am: Removed.
7435 * sigc++/adaptors/lambda/Makefile.am: Removed.
7436 * configure.ac (AC_OUTPUT): Remove the above Makefiles.
7438 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
7440 Rewritten so we can build lambda cleanly. Removed.
7442 * sigc++/Makefile.am: Rewritten so we can build lambda cleanly.
7443 * sigc++/Makefile.am_fragment: Removed.
7445 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
7449 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
7451 - signal_emit#<>: New templates replacing signal#<>::caller. The purpose
7453 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
7455 * sigc++/signal.{cc,h.m4}:
7456 - signal_emit#<>: New templates replacing signal#<>::caller.
7457 The purpose of these templates is implementing the emit
7458 function and optimizing signal emission for the case that
7459 no accumulator is used via template specializations.
7460 - default_accumulator<>: Removed. The default for T_accumulator
7461 in signal#<> now is nil. An example how to use accumulators
7462 is available in tests/test_accumulator.cc.
7463 - signal_{base,impl}: Move the implementation of signal_base's
7464 interface to signal_impl. An object of this class is
7465 dynamically allocated when first connecting a closure to
7466 the signal. This drastically reduces the size of empty signals
7467 and allows for future addition of a reference counter to make
7468 it safe to delete a signal during emission.
7469 - Directly work on closure_rep during signal emission. This
7470 seems to be quicker than using the closure templates.
7471 - Document the classes. Restructure the header file a bit.
7473 * sigc++/functors/closure.h.m4: Make closure_base::rep_ data
7474 member public, so that signal emission can directly work on it.
7476 * tests/test_size.cc: Add an entry for signal_impl.
7478 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
7480 - closure_base: BUGFIXES in ~closure_base() and operator=(). - Mark some
7482 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
7484 * sigc++/closure.{cc,h.m4}:
7485 - closure_base: BUGFIXES in ~closure_base() and operator=().
7486 - Mark some functions with the inline keyword. This seems to
7487 help gcc 3.2 to optimize signal emission and (dis)connection.
7488 - Document the classes. Restructure the header file a bit.
7490 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
7492 Make trackable allocate a trackable_dep_list object dynamically when
7494 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
7496 * sigc++/trackable.{cc,h}: Make trackable allocate a
7497 trackable_dep_list object dynamically when adding the first
7498 dependency. (This reduces the size of objects, that are not
7499 refered by a closure by 4 bytes (50%) and increases the size
7500 of objects that are refered by a closure by 4 bytes (50%)
7501 on a 32 bit architecture => This reduces total memory use
7502 when >50% of the trackables are not refered by a closure.)
7503 Document the classes.
7505 2003-03-06 Andreas Rottmann <rotty@src.gnome.org>
7507 Added new test executables.
7509 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
7511 Add two test cases. test_size is showing the size of public and internal
7513 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
7515 * tests/Makefile.am, tests/test_size.cc, tests/test_accumulated.cc:
7516 Add two test cases. test_size is showing the size of public and
7517 internal structures. (Which apart from empty signals are smaller
7518 than the sizes of the equivalent libsigc++-1.2 structures.)
7519 test_accumulated is a test for the template signal<>::accumulated<>
7520 at the same time showing the use of accumulators in libsigc++2.
7522 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
7524 BUGFIX in template specialization
7526 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
7528 * sigc++/visit_each.h: BUGFIX in template specialization
7529 limit_derive_target<T_Target*,T_action>::with_type<false,T_type>:
7530 Add non-const overloads for static void execute_() avoiding
7531 compile time errors.
7533 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
7535 Martin Schulze's disonnect changes.
7537 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
7539 Ignore some more auto*-stuff.
7541 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
7543 Ignore new diconnect test executable.
7545 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
7547 Add testcase with a mixed connection & disconnection sequence.
7549 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
7551 Bugfix in signal_base::insert(): Set notification function in the newly created copy of slot_ rather than in slot_ itself.
7553 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
7555 Comment in typedefs for iterator types in the signal#<> class template. Make signal#<>::connect() return an iterator for convenience.
7557 2003-01-23 Murray Cumming <murrayc@usa.net>
7559 sigc++/adaptors/lambda is disable temporarily (not built and not
7561 2003-01-23 Murray Cumming <murrayc@usa.net>
7563 * sigc++/adaptors/lambda is disable temporarily (not built and
7564 not distributed) because it gets built before its parent
7565 directory, but #includes generated sources in the parent directory.
7567 2003-01-22 Murray Cumming <murrayc@usa.net>
7569 Added Andreas Rottman's example.
7571 2003-01-22 Murray Cumming <murrayc@usa.net>
7573 * Added Andreas Rottman's example.
7575 2003-01-22 Murray Cumming <murrayc@usa.net>
7577 Applied Andreas Rottman's make dist fixes.
7579 2003-01-22 Murray Cumming <murrayc@usa.net>
7581 * Applied Andreas Rottman's make dist fixes.
7583 2003-01-22 Murray Cumming <murrayc@src.gnome.org>
7585 Added examples directory
7587 2003-01-15 Murray Cumming <murrayc@src.gnome.org>
7589 Added missing files.
7591 2003-01-14 Murray Cumming <murrayc@usa.net>
7593 Added whitespace to make the code more readable.
7595 2003-01-14 Murray Cumming <murrayc@usa.net>
7597 * Added whitespace to make the code more readable.
7599 2003-01-14 Murray Cumming <murrayc@src.gnome.org>
7603 2003-01-13 Murray Cumming <murrayc@src.gnome.org>
7605 No more use of the scripts directory.
7607 2003-01-13 Murray Cumming <murrayc@src.gnome.org>