1 2016-03-16 Murray Cumming <murrayc@murrayc.com>
5 2016-03-16 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
7 slot: Reinsert a comment that disappeared accidentally
9 The description of slot's specialization of visitor<>::do_visit_each<>()
10 disappeared by mistake when the slot# classes were removed.
12 2016-03-16 Murray Cumming <murrayc@murrayc.com>
14 slot: Allow only the slot<R(Args...)> syntax.
16 2016-03-16 Murray Cumming <murrayc@murrayc.com>
18 tests: Use the sigc::slot<R(Args...)> syntax only.
20 2016-03-16 Murray Cumming <murrayc@murrayc.com>
22 pointer_functor: Use the R(Args...) syntax.
24 2016-03-16 Murray Cumming <murrayc@murrayc.com>
26 signal: Allow only the signal<R(Args...)> syntax.
28 2016-03-16 Murray Cumming <murrayc@murrayc.com>
30 tests: Use sigc::signal<R(Args...)> syntax only.
32 2016-03-16 Murray Cumming <murrayc@murrayc.com>
34 signal: Use the slot<R(Args...)> syntax.
36 2016-03-16 Murray Cumming <murrayc@murrayc.com>
38 examples: Use sigc::signal<R(Args...)> syntax.
40 2016-03-16 Murray Cumming <murrayc@murrayc.com>
42 docs: signal_base/exception_catch: Use signal<R(Args...)> syntax.
44 2016-03-16 Murray Cumming <murrayc@murrayc.com>
46 docs: slot_base: Use slot<R(Args...)> syntax.
48 2016-03-16 Murray Cumming <murrayc@murrayc.com>
50 docs: Use signal<R(Args..)> syntax.
52 2016-03-16 Murray Cumming <murrayc@murrayc.com>
54 docs: mem_fun/ptr_fun: Use the sigc::slot<R(Args...)> syntax.
56 2016-03-16 Murray Cumming <murrayc@murrayc.com>
58 test_retype: Add test of R(Args...) syntax.
60 2016-03-16 Murray Cumming <murrayc@murrayc.com>
62 test_retype: Break into smaller tests.
64 2016-03-15 Murray Cumming <murrayc@murrayc.com>
66 Reference docs: main page: Use @c to monospace function names.
68 2016-03-15 Murray Cumming <murrayc@murrayc.com>
70 Reference docs: main page: Discourage multiple PKG_CHECK_MODULES() calls.
72 Mention that one PKG_CHECK_MODULES() call can check for all
73 pgk-config-based dependencies.
75 2016-03-15 Murray Cumming <murrayc@murrayc.com>
77 Reference docs: main page: Make autotools part consistent with CMake part.
79 2016-03-15 Murray Cumming <murrayc@murrayc.com>
81 Reference docs: main page: Mention CMake.
83 2016-03-13 Murray Cumming <murrayc@murrayc.com>
85 Add a file about build systems.
87 Otherwise people will wonder whether we use autotools or CMake as our
90 2016-03-13 Murray Cumming <murrayc@murrayc.com>
92 Update README to remove mention of m4.
94 2016-03-13 Murray Cumming <murrayc@murrayc.com>
96 test_tuple_transform_each: Comment out constexpr test that fails with g++.
98 Hopefully this works with newer g++ versions.
100 2016-03-13 Marcin Kolny <marcin.kolny@gmail.com>
102 cmake: reduce required version to 3.2
104 2016-03-13 Marcin Kolny <marcin.kolny@gmail.com>
106 cmake: add cmake files to dist package
108 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
110 cmake: fix generating cmake *Config files
112 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
114 cmake: fix library name
116 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
118 cmake: fix library output name
120 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
122 cmake: install sigc++config.h file
124 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
126 cmake: don't install uninstalled.pc file
128 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
130 cmake: add uninstall target
132 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
134 cmake: install headers from sigc++ directory
136 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
138 cmake: generate and install uninstalled.pc file
140 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
142 cmake: generate cmake *Config and *ConfigVersion files
144 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
146 cmake: add pkg-config support
148 2016-03-12 Marcin Kolny <marcin.kolny@gmail.com>
150 cmake: init - add cmake files
152 2016-03-11 Murray Cumming <murrayc@murrayc.com>
154 signal: Allow sigc::signal<R(Args...)> declaration, like std::function.
156 By adding a template specialization that repeats the main
157 template declaration, though it would be good to avoid the repetition.
161 Please enter the commit message for your changes. Lines starting
163 2016-03-11 Murray Cumming <murrayc@murrayc.com>
165 slot: Allow sigc::slot<R(Args...)> declaration, like std::function.
167 By adding a template specialization that repeats the main
168 template declaration, though it would be good to avoid the repetition.
172 2016-03-11 Murray Cumming <murrayc@murrayc.com>
174 signal: Update and improve the doxygen comment.
176 2016-03-11 Murray Cumming <murrayc@murrayc.com>
178 test_accumulated(): Restructure this.
180 To make it clearer and to keep the small tests more self-contained and
183 2016-03-11 Murray Cumming <murrayc@murrayc.com>
185 test_signal: Add test_simple().
187 2016-03-11 Murray Cumming <murrayc@murrayc.com>
189 test_signal(): Restructure this.
191 To make it clearer and to keep the small tests more self-contained and
194 2016-03-11 Murray Cumming <murrayc@murrayc.com>
196 slot: Update the Doxygen comment.
198 2016-03-11 Murray Cumming <murrayc@murrayc.com>
200 slot: Correct the doxygen comment line ending.
202 2016-03-11 Murray Cumming <murrayc@murrayc.com>
204 test_slot(): Restructure this.
206 To make it clearer and to keep the small tests more self-contained and
209 2016-03-10 Murray Cumming <murrayc@murrayc.com>
211 examples build: Disable deprecated API.
213 2016-03-10 Murray Cumming <murrayc@murrayc.com>
215 mem_functor: Remove now-unnecessary operator()(pointer).
217 2016-03-10 Murray Cumming <murrayc@murrayc.com>
219 retype: Simplify by using a template template parameter.
221 2016-03-10 Murray Cumming <murrayc@murrayc.com>
223 mem_fun(): Remove the T_obj* overloads.
225 So you would, for instance, always call sigc::mem_fun(*this, ...)
226 instead of sigc::mem_fun(this, ...).
230 2016-03-08 Murray Cumming <murrayc@murrayc.com>
232 tuple_transform_each(): Allow this to be a constexpr.
234 2016-03-08 Murray Cumming <murrayc@murrayc.com>
236 bind: Use of constexpr.
238 2016-03-08 Murray Cumming <murrayc@murrayc.com>
240 tuple_for_each(): Use of constexpr.
242 2016-03-08 Murray Cumming <murrayc@murrayc.com>
244 tuple_cdr(), tuple_start(), tuple_end(): Use of constexpr.
246 2016-03-08 Murray Cumming <murrayc@murrayc.com>
248 TupleVisitorVisitEach and TupleVisitorVisitEach: Use constexpr.
250 This would seem to be necessary if the tuple utils are ever fully
253 2016-03-08 Murray Cumming <murrayc@murrayc.com>
257 2016-03-08 Murray Cumming <murrayc@murrayc.com>
259 Put member_method*<> in sigc::internal namespace.
261 2016-03-07 Murray Cumming <murrayc@murrayc.com>
263 NEWS: Mention that it needs C++14.
265 2016-03-07 Murray Cumming <murrayc@murrayc.com>
269 2016-03-07 Murray Cumming <murrayc@murrayc.com>
271 Use mem_fun.h as a regular .h file.
273 Instead of generating it from an .m4 file.
274 This still has some repetition, but it is not nearly as much as before,
275 and it is the last m4 file.
276 Having all the code in normal C++ source files makes it far easier for people
277 to contribute, to actually reduce this repetition.
279 2016-03-07 Murray Cumming <murrayc@murrayc.com>
281 .doap: Correct the web site URL.
283 Though we really must stop using sourceforge even for the web site.
285 2016-03-07 Murray Cumming <murrayc@murrayc.com>
287 Rename our .doap file.
289 2016-03-07 Murray Cumming <murrayc@murrayc.com>
291 Use 2.99.1 instead of 2.9.1
293 This gives us more room for 2.x releases of the libsigc++-2.0 API
296 2016-03-07 Murray Cumming <murrayc@murrayc.com>
298 Rename mem_functor_base to mem_functor.
300 And rename bound_mem_functor_base to bound_mem_functor.
302 2016-03-07 Murray Cumming <murrayc@murrayc.com>
304 mem_fun.h.m4: Remove mem_functor and const_mem_functor.
306 They were only used in one place, internally, and did not add much clarity.
308 2016-03-07 Murray Cumming <murrayc@murrayc.com>
310 mem_fun.h.m4: Remove bound_const_mem_functor alias.
312 It was only used in one place in the code and didn't add much clarity.
314 2016-03-07 Murray Cumming <murrayc@murrayc.com>
316 bound_mem_functor: Remove constructor that takes pointer.
318 Leaving just the constructor that takes the object by reference.
319 This is not a class that application code would use directly,
320 so there seems no need for the convenience.
322 2016-03-07 Murray Cumming <murrayc@murrayc.com>
324 mem_functor_base: Use member_method_result<>::type.
326 To avoid the (apparent) need to use T_args... with std::result_of_t<>.
328 2016-03-07 Murray Cumming <murrayc@murrayc.com>
330 Added member_method_result<>::type type trait.
332 This seems to be easier than std::result_of<>, which seems to need us to
333 explicitly specify the arguments too.
335 2016-03-07 Murray Cumming <murrayc@murrayc.com>
337 bound_mem_functor_base: Remove now-unnecessary T_obj template parameter.
339 2016-03-07 Murray Cumming <murrayc@murrayc.com>
341 mem_functor_base: Remove T_obj template parameter.
343 Instead using member_method_class<>::type.
345 2016-03-07 Murray Cumming <murrayc@murrayc.com>
347 Add member_method_class<>::type type trait.
349 2016-03-07 Murray Cumming <murrayc@murrayc.com>
351 Remove some now-unused tuple_type*<> type traits.
353 Because we now motly only need the tuple*() utilities to manipulate
354 the actual instances. Some are still need for those tuple*()
357 2016-03-07 Murray Cumming <murrayc@murrayc.com>
359 hide_functor: Don't specify a specific specialization for operator().
361 It doesn't seem to be necessary now.
363 2016-03-07 Murray Cumming <murrayc@murrayc.com>
365 Remove unnecessary TODO comment.
367 2016-03-07 Murray Cumming <murrayc@murrayc.com>
369 bound_mem_functor_base: Remove now-unused T_return template parameter.
371 2016-03-07 Murray Cumming <murrayc@murrayc.com>
373 mem_functor_base: Remove T_return template parameter.
375 Instead using std::result_of<> to discover it from the T_func.
377 2016-03-07 Murray Cumming <murrayc@murrayc.com>
379 bound_mem_functor_base: Remove T_limit_reference template parameter.
381 Instead discover it via std::conditional_t and our
382 ember_method_is_const<>::value type traits.
384 2016-03-07 Murray Cumming <murrayc@murrayc.com>
386 use limit_reference.h as a regular .h file.
388 Instead of generating it.
390 2016-03-07 Murray Cumming <murrayc@murrayc.com>
392 Rename limit_reference_base to limit_reference.
394 2016-03-07 Murray Cumming <murrayc@murrayc.com>
396 Remove limit_reference_base<> aliases, such as const_limit_reference.
398 Because limit_reference_base<T_type> is now simple enough to just
401 2016-03-07 Murray Cumming <murrayc@murrayc.com>
403 limit_reference.h.m4: Remove unused 2nd LIMIT_REFERENCE() parameter.
405 2016-03-07 Murray Cumming <murrayc@murrayc.com>
407 limit_reference_base: Rename template parameter back to T_type.
409 Because I think that is what this really is.
410 Now this limit_reference_base<> is again as simple as *_limit_reference
411 in libsigc++-2.0 but without the code generation and multiple classes.
413 2016-03-07 Murray Cumming <murrayc@murrayc.com>
415 limit_reference_base: Take just one template parameter.
417 And use std::remove_volatile_t<> to get the other.
419 2016-03-07 Murray Cumming <murrayc@murrayc.com>
421 mem_fun: Use limit_reference_base instead of aliases.
423 Because it is now simple enough.
425 2016-03-07 Murray Cumming <murrayc@murrayc.com>
427 bound_*_mem_functor: Use limit_reference_base instead of aliases.
429 Because it is now simple enough.
431 2016-03-07 Murray Cumming <murrayc@murrayc.com>
433 limit_reference_base<>: Avoid the need for the T_trackable template parameter.
435 By using std::conditional_t and std::is_const<>::value.
437 2016-03-07 Murray Cumming <murrayc@murrayc.com>
439 (bound_)mem_functor_base: Remove T_obj_with_modifier template parameter.
441 Remove the need for this by using std::conditional_t<> and
442 our member_method_is_const<>::value instead.
444 2016-03-07 Murray Cumming <murrayc@murrayc.com>
446 Add member_method_is_const<> and member_method_is_volatile.
448 And some tests for them.
450 2016-03-07 Murray Cumming <murrayc@murrayc.com>
452 mem_fun(): Use base bound_mem_functor_base instead of the aliases.
454 Thus making the bound_mem_functor, bound_const_mem_functor,
455 bound_const_volatile_mem_functor, etc, aliases unused.
457 2016-03-07 Murray Cumming <murrayc@murrayc.com>
459 mem_fun(): Use base mem_functor_base instead of the aliases.
461 Thus making the mem_functor, const_mem_functor, const_volatile_mem_functor,
464 2016-03-07 Murray Cumming <murrayc@murrayc.com>
466 limit_reference.h.m4: Make *_limit_reference template aliases of a limit_reference_base.
468 And have just one visitor specialization, using the base class.
469 As for *_mem_functor. This avoids the repetition.
471 2016-03-07 Murray Cumming <murrayc@murrayc.com>
473 A small const improvement.
475 2016-03-07 Murray Cumming <murrayc@murrayc.com>
477 Use retype.h as a normal .h file.
479 Instead of generating it.
481 2016-03-07 Murray Cumming <murrayc@murrayc.com>
483 retype.h.m4: Have retype() for just the 2 base *_mem_functor_base classes.
485 Then we don't need to generate code for this at all.
487 2016-03-07 Murray Cumming <murrayc@murrayc.com>
489 mem_func.h.m4: Have just one visitor specialization for bound_mem_functor_base.
491 2016-03-07 Murray Cumming <murrayc@murrayc.com>
493 mem_fun.h.m4: Make bound_*_mem_functor template aliases of a bound_mem_functor_base.
495 As for *_mem_functor. This avoids the repetition
497 2016-03-07 Murray Cumming <murrayc@murrayc.com>
499 mem_fun.h.m4: Make *_mem_functor template aliases of a mem_functor_base.
501 This avoids the repetition.
503 2016-03-07 Murray Cumming <murrayc@murrayc.com>
505 functor_trait.h: Do not repeat mem_functor and pointer_function declarations.
507 Instead just include the headers.
508 Then we can change their declarations without having to do it in two places.
510 2016-03-07 Murray Cumming <murrayc@murrayc.com>
512 Split functor_trait.h into functor_base.h and functor_trait.h.
514 So that slot_base doesn't need to include so much.
516 2016-03-07 Murray Cumming <murrayc@murrayc.com>
518 Don't include functor_trait.h where it is not used.
520 2016-03-07 Murray Cumming <murrayc@murrayc.com>
522 C++11: Change all typedefs to using.
524 2016-03-07 Murray Cumming <murrayc@murrayc.com>
526 bind.h.m4: Remove now-unnecessary dnls.
528 2016-03-07 Murray Cumming <murrayc@murrayc.com>
530 Fix a typo in a static_asser() error message.
532 2016-03-07 Murray Cumming <murrayc@murrayc.com>
534 bind_functor: Don't specify the operator() template specialization.
536 This doesn't seem to be necessary now.
538 2016-03-07 Murray Cumming <murrayc@murrayc.com>
540 bind_functor: Make bound_ private.
542 2016-03-07 Murray Cumming <murrayc@murrayc.com>
544 signal_base: clear signal_impl in its own destructor.
546 This deals with some TODO comments.
547 This patch is based on a suggestion from Kjell Ahlstedt:
548 See https://bugzilla.gnome.org/show_bug.cgi?id=167714#c14
550 2016-03-07 Murray Cumming <murrayc@murrayc.com>
552 hide_functor::operator(): Do some perfect forwarding.
554 2016-03-07 Murray Cumming <murrayc@murrayc.com>
556 hide_functor: Avoid using std::make_tuple().
558 Because it can change types, such as changing std::ref()ed T to T.
560 2016-03-07 Murray Cumming <murrayc@murrayc.com>
562 Update tuple-utils from murrayc-tuple-utils.
564 tuple_transform_each() now iterates in order, instead of in reverse,
565 though that didn't seem to matter to how we used it in libsigc++.
567 2016-03-07 Murray Cumming <murrayc@murrayc.com>
569 Connection::operator bool(): Make this const.
571 2016-03-07 Murray Cumming <murrayc@murrayc.com>
573 Remove use of removed SIGC_HAVE_SUN_REVERSE_ITERATOR
575 2016-03-07 Murray Cumming <murrayc@murrayc.com>
577 sigc++config.h.in: Remove unused macros.
579 2016-03-07 Murray Cumming <murrayc@murrayc.com>
581 slot/slot_base: Make some API private.
583 2016-03-07 Murray Cumming <murrayc@murrayc.com>
585 slot_rep::dup(): Take a slot_rep* instead of void*.
587 2016-03-07 Murray Cumming <murrayc@murrayc.com>
589 Add and use notifiable base class instead of void*.
591 Use notifiable as the base class for trackable, connection, signal_impl,
592 self_and_iter and destroy_notify_struct.
594 Use this notifiable* instead of void* for the destroy/notify callback data.
595 This is a little more type-safe and self-documenting.
598 2016-03-07 Murray Cumming <murrayc@murrayc.com>
600 Remove C++ standard library checks.
602 We do not actually use these, and it must have been years since
603 any compiler didn't, for instance, have the std namespace.
605 2016-03-07 Murray Cumming <murrayc@murrayc.com>
607 Remove nil and the associated pragma push/pop fixes for Objective C++.
609 2016-03-07 Murray Cumming <murrayc@murrayc.com>
611 signal: Use void instead of nil to mean no accumulator.
613 2016-03-07 Murray Cumming <murrayc@murrayc.com>
615 Remove unused SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION() configure check.
617 2016-03-07 Murray Cumming <murrayc@murrayc.com>
619 Remove SIGC_WORKAROUND_OPERATOR_PARENTHESES, using just .template operator()<>.
621 We can add it back if we find that the Sun or Microsoft compilers still
622 need it, when/if they support enough C++14 anyway.
623 We can always use libsigc++-2.0 to easily discover what its configure
624 checks say about the compiler behaviour.
626 2016-03-07 Murray Cumming <murrayc@murrayc.com>
628 adaptor_functor: Do some perfect forwarding.
630 2016-03-07 Murray Cumming <murrayc@murrayc.com>
632 retype_return_functor: Do some perfect forwarding.
634 2016-03-07 Murray Cumming <murrayc@murrayc.com>
636 compose: Do some perfect forwarding.
638 2016-03-07 Murray Cumming <murrayc@murrayc.com>
640 track_obj_functor: Do some perfect forwarding.
642 2016-03-07 Murray Cumming <murrayc@murrayc.com>
644 bind(): Correct the static_assert().
646 2016-03-07 Murray Cumming <murrayc@murrayc.com>
648 bind(): Add a static_assert() for when bind<num> is passed a too-high index.
650 2016-03-07 Murray Cumming <murrayc@murrayc.com>
652 template.macros.m4: Remove unused m4 macros.
654 2016-03-07 Murray Cumming <murrayc@murrayc.com>
656 Put tuple-utils into sigc::internal namespace.
658 To discourage people from using libsigc++ just for the tuple utils.
660 2016-03-07 Murray Cumming <murrayc@murrayc.com>
662 Move all tuple_*.h files into sigc++/tuple-utils/
664 2016-03-07 Murray Cumming <murrayc@murrayc.com>
666 bind_functor::operator(): Do perfect forwarding.
668 To be consistent with the other operator().
670 2016-03-07 Murray Cumming <murrayc@murrayc.com>
672 Create a parallel-installable sigc++-3.0 API/ABI.
674 2016-03-07 Murray Cumming <murrayc@murrayc.com>
678 2016-03-07 Murray Cumming <murrayc@murrayc.com>
680 bind: Some perfect forwarding.
682 2016-03-07 Murray Cumming <murrayc@murrayc.com>
684 Avoid std::make_tuple().
686 To preserve std::ref()ed elements.
688 2016-03-07 Murray Cumming <murrayc@murrayc.com>
690 Put bind() in its own bind.h file instead of generating it.
692 2016-03-07 Murray Cumming <murrayc@murrayc.com>
694 bind.h.m4: Make variadic.
696 With a partial build fix from Marcin Kolny.
698 2016-03-07 Murray Cumming <murrayc@murrayc.com>
700 bind: Make the visitor<> specialization variadic.
702 2016-03-07 Murray Cumming <murrayc@murrayc.com>
704 bind<-1>: Store the bound args in a tuple.
706 2016-03-07 Murray Cumming <murrayc@murrayc.com>
708 bind<num>(): Store the single bound arg in a tuple.
710 2016-03-07 Murray Cumming <murrayc@murrayc.com>
712 track_obj.h: Use this as a normal .h file.
714 Instead of genrating it from a .h.m4 file.
716 2016-03-07 Murray Cumming <murrayc@murrayc.com>
718 track_obj.h.m4: Make this variadic.
720 This uses a tuple_for_each<>() utility taken from here:
721 https://github.com/murraycu/murrayc-tuple-utils/tree/master/tuple-utils
722 for the visit_each() specialization.
724 2016-03-07 Murray Cumming <murrayc@murrayc.com>
726 hide.h: Use this as a normal .h file.
728 Instead of generating it from an .h.m4 file.
730 2016-03-07 Murray Cumming <murrayc@murrayc.com>
732 hide_functor: Make this fully variadic.
734 2016-03-07 Murray Cumming <murrayc@murrayc.com>
736 hide.h.m4: hide_functor::operator(): Make this variadic.
738 This uses some tuple manipulation utilities so that the variadic parameters
739 with which we call a method can be based on the variadic parameters that the
740 caller received, but not exactly. In this case, we need to replace an element
741 in the middle of a tuple. There is probably a more efficient way to do this.
743 For now, this is using copies of the tuple utilities from here:
744 https://github.com/murraycu/murrayc-tuple-utils/tree/master/tuple-utils
746 2016-03-07 Murray Cumming <murrayc@murrayc.com>
748 Add tuple utils from murrayc-tuple-utils.
750 2016-03-07 Murray Cumming <murrayc@murrayc.com>
752 exception_catch_functor::operator():
754 Remove the unnecessary operator()() overload.
755 This did need me to change the test code so that it doesn't try to
756 provide a catch function that returns something, but that seems
759 2016-03-07 Murray Cumming <murrayc@murrayc.com>
761 Another use of decltype(auto) for a return type
763 2016-03-07 Murray Cumming <murrayc@murrayc.com>
765 Correct some documentation.
767 2016-03-07 Murray Cumming <murrayc@murrayc.com>
769 More use of decltype(auto) for return types.
771 2016-03-07 Murray Cumming <murrayc@murrayc.com>
773 retype: Make this variadic.
775 However, we still need to generate const/volatile/const_volatile/
776 bound_const/bound_volatile/bound_const_volatile versions.
778 2016-03-07 Murray Cumming <murrayc@murrayc.com>
780 slot.h: Remove comment about this being generated.
782 2016-03-07 Murray Cumming <murrayc@murrayc.com>
784 slot.h: Use this as a normal .h file.
786 Instead of generating it from a .h.m4 file.
788 2016-03-07 Murray Cumming <murrayc@murrayc.com>
790 slot: Make this fully variadic.
792 2016-03-07 Murray Cumming <murrayc@murrayc.com>
794 slot.h.m4: make slot_call fully variadic.
796 2016-03-07 Murray Cumming <murrayc@murrayc.com>
798 bind_functor::operator()(): Give this a dummy template parameter.
800 And remove the m4 ifelse from slot.h.m4 because we can now resolve
801 that operator() when calling it with an empty variadic parameter pack.
803 2016-03-07 Murray Cumming <murrayc@murrayc.com>
805 slot.h.m4: visit_each specialization: Make this variadic.
807 2016-03-07 Murray Cumming <murrayc@murrayc.com>
809 make_slot: Use decltype(auto) for return type.
811 2016-03-07 Murray Cumming <murrayc@murrayc.com>
813 Replace some uses of result_type with decltype(auto).
815 2016-03-07 Murray Cumming <murrayc@murrayc.com>
817 Remove code that used the SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD ifndefs.
819 See the previous commit.
821 2016-03-07 Murray Cumming <murrayc@murrayc.com>
823 test_acum_iter: Replace signal_accumulated with signal<>::accumulated.
825 I've never noticed this sub-template before, but this syntax is
828 2016-03-07 Murray Cumming <murrayc@murrayc.com>
830 signal.h: Use this as a normal header file.
832 Instead of generating it from a .h.m4 file.
834 2016-03-07 Murray Cumming <murrayc@murrayc.com>
836 signal: Make this fully variadic.
838 2016-03-07 Murray Cumming <murrayc@murrayc.com>
840 signal.h.m4: Rename signal1/2/3/etc to signal_with_accumulator.
842 And make it fully variadic.
844 2016-03-07 Murray Cumming <murrayc@murrayc.com>
846 signal1/2/3/etc: Make this variadic.
848 Though the separate generated signal1/2/3/etc still exist.
850 2016-03-07 Murray Cumming <murrayc@murrayc.com>
852 signal1/2/3: Move T_accumulator to second position.
854 Because it can't go at the end if we want to change the args to
855 a variadic template pack.
857 2016-03-07 Murray Cumming <murrayc@murrayc.com>
859 Remove useless SIGC_TYPEDEF_REDEFINE_ALLOWED
861 2016-03-07 Murray Cumming <murrayc@murrayc.com>
863 signal.h.m4: Make signal_emit fully variadic.
865 2016-03-07 Murray Cumming <murrayc@murrayc.com>
867 signal_emit1/2/3/etc: Simplify call_type typedef.
869 2016-03-07 Murray Cumming <murrayc@murrayc.com>
871 signal.h.m4: signal_emit1/2/3/etc: Make this variadic.
873 Though we still have the separate generated signal_emit1/2/3, etc.
875 This is the first time that we need to use a tuple, and then
876 std::index_sequence(), to call another method with the stored
877 (in a tuple) parameter pack.
879 2016-03-07 Murray Cumming <murrayc@murrayc.com>
881 signal.h.m4: signal_emit: Put the T_Accumulator before the args.
883 So the args can be variadic eventually.
885 2016-03-07 Murray Cumming <murrayc@murrayc.com>
887 test_disconnect: Use slot<> instead of slot1<>.
889 Because we are trying to remove slot1,2,3, etc.
891 2016-03-07 Murray Cumming <murrayc@murrayc.com>
893 slot.h.m4: Make slot1/2/3/etc variadic.
895 While still having slot1/2/3/ themselves. This is lets us take
896 another small step in the conversion to variadic templates.
898 2016-03-07 Murray Cumming <murrayc@murrayc.com>
900 test_ptr_fun: Comment out what doesn't work with g++.
902 We probably need to get this working, but it already works with
903 clang++ (I'm using clang++ 3.7), so I'm just doing this for now,
904 with TODO comments, so I can move forwards.
905 I'm using g++ 5.2.1 .
907 2016-03-07 Murray Cumming <murrayc@murrayc.com>
909 bind(): Make this variadic.
911 Instead of generating many versions.
913 bind_functor<> is not at all variadic yet.
915 2016-03-07 Murray Cumming <murrayc@murrayc.com>
917 bind(): Move T_functor the start.
919 This is different to the bind<number, ...> version but it's the only
920 way to have a parameter pack at the end.
921 Hopefully this version of bind() never needs to be called for specific
924 2016-03-07 Murray Cumming <murrayc@murrayc.com>
926 C++14: bind(): Use decltype(auto) for the return type.
928 This simplifies the code a bit.
930 2016-03-07 Murray Cumming <murrayc@murrayc.com>
932 Rename deduce_result_type.h to adaptor_base.h
934 Because that is all this file now contains.
935 However, I suspect that we don't need adaptor_base at all now.
937 2016-03-07 Murray Cumming <murrayc@murrayc.com>
939 C++14 Remove now-unused deduce_result_t.
941 2016-03-07 Murray Cumming <murrayc@murrayc.com>
943 C++14: compose: Remove use of deduce_result_type.
945 By removing use of SIGC_WORKAROUND_OPERATOR_PARENTHESES, which
946 hopefully isn't necessary any more.
948 2016-03-07 Murray Cumming <murrayc@murrayc.com>
950 C++14: operator(): Use decltype(auto) instead of deduce_result_type.
952 So we can remove all the nasty deduce_result_type code,
953 which is hard to make fully variadic in bind().
955 2016-03-07 Murray Cumming <murrayc@murrayc.com>
959 By using the MM_AX_CXX_COMPILE_STDCXX() m4 macro that I just
962 This lets us use std::integer_sequence (and std::index_sequence) with
965 We probably also want to use decltype(auto) return types for template
966 methods, as long as that doesn't slow down compile times.
968 2016-03-07 Murray Cumming <murrayc@murrayc.com>
970 deduce_result_type.h: Remove comment about it being generated.
972 2016-03-07 Murray Cumming <murrayc@murrayc.com>
974 adaptor_trait.h: Remove comment about it being generated.
976 2016-03-07 Murray Cumming <murrayc@murrayc.com>
978 C++11: Replace sigc::ref() with std::ref().
980 It seems to be remarkably similar.
982 2016-03-07 Murray Cumming <murrayc@murrayc.com>
984 Remove (and replace) the _R_ and _P_ m4 macros.
986 They just make it that little bit harder to convert the code to
989 2016-03-07 Murray Cumming <murrayc@murrayc.com>
991 Remove (previously deprecated) lambda API.
993 2016-03-07 Murray Cumming <murrayc@murrayc.com>
995 retype_functor: Make the slot version variadic.
997 2016-03-07 Murray Cumming <murrayc@murrayc.com>
999 retype_functor: Make the pointer_functor version variadic.
1001 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1003 exception_catch.h: Use this as a normal .h file.
1005 Instead of generating it from a .h.m4 file.
1007 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1009 exception_catch_functor: Make this variadic.
1011 Instead of generating multiple overloads of operator().
1013 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1015 track_obj_functor1*(): Make operator() variadic.
1017 Instead of generating multiple overloads.
1019 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1021 retype_return.h: Use this as a normal .h file.
1023 Instead of generating it from a .h.m4 file.
1025 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1027 retype_return_functor: Make this variadic.
1029 Instead of generating 7 overloads of operator().
1031 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1033 compose.h: Use this as a normal .h file.
1035 Instead of generating it from a .h.m4 file.
1037 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1039 compose1_functor, compose2_functor: Make these variadic.
1041 Instead of using 7 arguments with void defaults, and instead of
1042 generating 7 overloads of operator().
1044 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1046 deduce_result_type.h: Use this as a regular .h file.
1048 Instead of generating it from a .h.m4 file.
1050 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1052 bind_return.h: Use this as a normal .h file.
1054 Instead of generating it from a .h.m4 file.
1056 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1058 bind_return_functor: operator(): Make this variadic.
1060 Instead of generating multiple overloads.
1062 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1064 adaptor_trait.h: Use this as a regular .h file.
1066 Instead of generating it from a .h.m4 file.
1068 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1070 adaptor_function: Make the operator() variadic.
1072 Instead of generating many overloads.
1074 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1076 adaptor_functor: Make deduce_result_type variadic.
1078 Instead of having all 7 arguments, defaulting to void.
1080 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1082 mem_fun.h.m4: Remove now-unnecessary LIST() calls.
1084 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1086 filelist.am: Mention ptr_fun.h.
1088 I forgot to do this when I changed this from a a .h.m4 file to a .h file.
1090 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1092 functor_trait.h: Use this as a normal header, not generated.
1094 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1096 functor_trait.h.m4: Use a variadic template instead of generating many.
1098 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1100 *mem_functor(): Remove the numbered versions, leaving just variadic ones.
1102 Do not generate *mem_functor0 through *mem_functor7. Instead just
1103 generate variadic *mem_functor<>.
1104 We do still generate mem_functor, const_mem_functor and
1105 const_volatile_mem_functor, which seems messy.
1107 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1109 ptr_fun.h: Use this as a normal header instead of generating it.
1111 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1113 test_ptr_fun: Fix the build, at least temporarily.
1115 See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c11
1117 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1119 C++11: ptr_fun.h: Replace generated ptr_fun1/2/3/etc with ptr_fun<>.
1121 Note that T_Return must now be the first parameter, so that the
1122 variadic template parameters may be trailing, and this means that
1123 the return type must now be specified if you specify any argument
1126 ptr_fun<type_arg1>(&somefunc)
1128 ptr_fun<void, type_arg2>(&somefunc)
1131 ptr_fun<type_arg1, type_return>(&somefunc)
1133 ptr_fun<type_return, type_arg1>(&somefunc)
1135 which might be an annoying API change, even though most people just
1138 However, this breaks the tests:
1140 test_ptr_fun.cc: In function ‘int main(int, char**)’:
1141 test_ptr_fun.cc:64:21: error: no matches converting function ‘foo’ to type ‘void (*)()’
1142 sigc::ptr_fun(&foo)();
1144 test_ptr_fun.cc:24:6: note: candidates are: void {anonymous}::foo(int)
1147 test_ptr_fun.cc:18:5: note: int {anonymous}::foo()
1151 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1153 C++11: ptr_fun.h: Replace generated pointer_functor1/2/3/etc with pointer_functor.
1155 Using C++11 variadic templates arguments.
1156 Note that T_Return is now the first template parameter, so that the variadic
1157 parameters can be the trailing parameters, as in std::function.
1159 2016-03-07 Murray Cumming <murrayc@murrayc.com>
1161 Fix tiny typo in a comment.
1163 2016-03-06 Murray Cumming <murrayc@murrayc.com>
1165 docs: Refer to it as libsigc++, not libsigc++2.
1167 2016-03-06 Murray Cumming <murrayc@murrayc.com>
1169 website/README: Mention the new git repository.
1171 2016-03-03 Murray Cumming <murrayc@murrayc.com>
1173 SIGC_CXX_HAS_SUN_REVERSE_ITERATOR: Add std:: now that I removed the using std.
1175 See https://bugzilla.gnome.org/show_bug.cgi?id=762065#c2
1177 2016-03-03 Murray Cumming <murrayc@murrayc.com>
1179 C++11: Make all operator bool() explicit.
1181 2016-03-03 Murray Cumming <murrayc@murrayc.com>
1183 Remove now-unnecessary SIGC_CXX_HAS_NAMESPACE_STD() configure check.
1185 Bug #762065 (Kjell Ahlstedt)
1187 2016-03-03 Murray Cumming <murrayc@murrayc.com>
1189 Remove unused SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION() configure check.
1191 Bug #762065 (Kjell Ahlstedt)
1193 2016-03-02 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1195 Improve the documentation of mem_fun()
1197 * sigc++/functors/macros/mem_fun.h.m4:
1198 * sigc++/functors/slot_base.h: Make it clear that mem_fun() does not return
1199 a slot, and 'auto s = sigc::mem_fun(....)' is not equivalent to
1200 'sigc::slot<....> s = sigc::mem_fun(....)'.
1201 The confusing documentation was noted by Andrejs Hanins on libsigc-list.
1203 2016-03-01 Murray Cumming <murrayc@murrayc.com>
1205 Add test_bind_as_slot.
1207 This tests sigc::bind()'s indirect use of adaptor_functor<>.
1208 I added this because this doesn't work yet in the variadic_bind branch.
1210 2016-03-01 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1214 2016-01-14 Murray Cumming <murrayc@murrayc.com>
1216 m4: Remove unused UPPER and LOWER functions.
1218 2016-01-14 Murray Cumming <murrayc@murrayc.com>
1220 tests: Use = delete instead of private constructors.
1222 To make classes non-copyable.
1224 2016-01-07 Murray Cumming <murrayc@murrayc.com>
1226 functor_trait.m4: Correct the mem_functor<> declarations.
1228 The first template types are T_return and T_obj, not the arguments.
1229 This doesn't seem to have been a problem. Maybe this code is not tested
1232 2015-12-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1234 Don't use SIGC_USING_STD()
1236 The SIGC_USING_STD() macro is defined as an empty string, if some standard
1237 C++ symbols are defined in namespace std. They always are.
1238 Since many years, SIGC_USING_STD() is an unnecessary macro.
1240 2015-12-16 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1242 Temporarily undefine the nil macro, if it's defined
1244 * build/cxx.m4: Add SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
1245 * configure.ac: Call SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
1246 * sigc++config.h.in: Add SIGC_PRAGMA_PUSH_POP_MACRO.
1247 * sigc++/functors/macros/functor_trait.h.m4:
1248 * sigc++/adaptors/macros/bind.h.m4:
1249 * sigc++/adaptors/macros/retype.h.m4:
1250 * sigc++/functors/macros/slot.h.m4:
1251 * sigc++/macros/signal.h.m4: If nil and SIGC_PRAGMA_PUSH_POP_MACRO are
1252 defined, undefine nil temporarily in the header files.
1253 nil is a keyword in Objective-C++ and in Mac OS X C++. Bug #695235.
1255 2015-12-15 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1257 can_deduce_result_type_with_decltype: Rename the check() methods
1259 * sigc++/functors/macros/functor_trait.h.m4: Rename the check() methods.
1260 check() is a preprocessor macro in Mac OS X. Bug #759315.
1262 2015-12-13 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1266 2015-11-16 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1268 Add a moving signal::connect() overload
1270 * sigc++/macros/signal.h.m4: Add signal#::connect(slot_type&&),
1271 slot_list::insert(iterator i, slot_type&&),
1272 slot_list::push_front(slot_type&&), push_back(slot_type&&).
1273 * sigc++/signal_base.[h|cc]: Add signal_base::connect(slot_base&&),
1274 signal_base::insert(slot_base&&), signal_impl::connect(slot_base&&),
1275 signal_impl::insert(slot_base&&). Bug #756484.
1277 2015-11-13 Murray Cumming <murrayc@murrayc.com>
1281 2015-11-12 Murray Cumming <murrayc@murrayc.com>
1283 Add warnings for use with --enable-warnings=fatal
1285 Added use -Wsuggest-override and -Wzero-as-null-pointer-constant.
1287 2015-11-10 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1289 trackable, slot_base, signal_base, connection: Add some noexcept specs
1291 2015-11-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1293 slot and signal: Add missing move constructors and move assignments
1295 * sigc++/functors/macros/slot.h.m4: Add move operators for slot<>.
1296 * sigc++/macros/signal.h.m4: Add move operators for signal#<> and signal<>.
1297 * tests/test_signal_move.cc:
1298 * tests/test_slot_move.cc: Test that the source objects are empty.
1301 2015-11-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1303 trackable, slot, signal: Remove noexcept specifications
1305 * sigc++/functors/macros/slot.h.m4:
1306 * sigc++/functors/slot_base.[h|cc]:
1307 * sigc++/signal_base.[h|cc]:
1308 * sigc++/trackable.[h|cc]: Remove noexcept from the move operators.
1311 2015-11-06 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1313 slot: Handle auto-disconnection when a slot contains a slot
1315 * sigc++/functors/macros/slot.h.m4: Add sigc::visitor<> specializations
1317 * tests/test_disconnect.cc: Test auto-disconnection of a slot that contains
1318 a slot. Bug #755003.
1320 2015-11-06 Murray Cumming <murrayc@murrayc.com>
1322 signal_impl: =delete copy and move operations.
1324 Prevent, copy and move constructors and assignment operators from
1325 being generated automatically. These are never used, but this
1326 will make sure of that.
1327 See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
1329 2015-11-06 Murray Cumming <murrayc@murrayc.com>
1331 typed_slot_rep: =delete unimplemented copy and move operations.
1333 Prevent, copy assignment operator, move constructor and move
1334 assignment operators from being generated automatically.
1335 These are never used, but this will make sure of that.
1336 See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
1338 2015-11-06 Murray Cumming <murrayc@murrayc.com>
1340 slot_rep: =delete copy and move operations.
1342 Prevent, copy and move constructors and assignment operators from
1343 being generated automatically. These are never used, but this
1344 will make sure of that.
1345 See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
1347 2015-11-06 Murray Cumming <murrayc@murrayc.com>
1349 Small whitespace changes in docs comment.
1351 2015-10-31 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1353 trackable: Add a comment
1355 2015-10-21 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1357 slot and signal: Fix move constructors and move assignments
1359 * sigc++/functors/macros/slot.h.m4: Add documentation.
1360 * sigc++/functors/slot_base.[h|cc]: Fix the move operators of slot_base.
1361 Don't move a connected slot.
1362 * sigc++/signal_base.cc: Fix the move assignment of signal_base.
1363 * tests/test_signal_move.cc:
1364 * tests/test_slot_move.cc: Really test move assignment. Bug #756484.
1366 2015-10-13 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1368 More use of nullptr instead of 0
1370 2015-10-11 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1372 slot_rep::disconnect(): Remove a comment, add a test
1374 * sigc++/functors/slot_base.cc: Remove a TODO comment at slot_rep::disconnect().
1375 * tests/test_slot_disconnect.cc: Add a test that assigns an empty slot.
1377 2015-09-29 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1379 Update sigc++/.gitignore
1381 2015-09-27 Murray Cumming <murrayc@murrayc.com>
1385 2015-09-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1387 sigc::trackable: Don't move the callback list
1389 * sigc++/trackable.[h|cc]: Don't move the callback list.
1390 * tests/test_trackable_move.cc: Remove a comment. Bug #755393.
1392 2015-09-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1394 Recreate adaptors/lambda files necessary not to break ABI
1396 * sigc++/adaptors/lambda/macros/base.h.m4:
1397 * sigc++/adaptors/lambda/macros/lambda.cc.m4:
1398 * sigc++/adaptors/lambda/macros/select.h.m4: Recreate these files.
1399 * sigc++/Makefile.am:
1400 * sigc++/filelist.am: Add the recreated lambda files.
1401 Approximately a reversion of commit a259b4c7a1753dbc389ee467fa536339ec820223,
1402 "Remove remaining parts of the sigc::lambda API."
1403 Differences from an exact reversion: MSVC_Net files are not modified.
1404 (Probably something ought to be changed in MSVC_Net2013.)
1405 tests/Makefile.am is not modified-
1406 is_base_and_derived<> is replaced by std::is_base_of<> in base.h.m4.
1407 The extern declarations that were previously in select.h.m4 are moved to
1408 lambda.cc.m4. Without them, sigc::_1 .. sigc::_7 are not included in
1410 All code in the header files are inside #ifndef DOXYGEN_SHOULD_SKIP_THIS.
1413 2015-09-21 Murray Cumming <murrayc@murrayc.com>
1417 2015-09-17 Murray Cumming <murrayc@murrayc.com>
1419 C++11: deduce_result_type: Simpifying, removing use of std::is_same().
1421 See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c9
1423 2015-09-17 Marcin Kolny <marcin.kolny@gmail.com>
1425 C++11: deduce_result_type: build fix, using SFINAE paradigm.
1429 2015-09-17 Murray Cumming <murrayc@murrayc.com>
1431 C++11: deduce_result_type: Simplify with variadic template and std::conditional<>.
1434 However, the build then fails like so:
1436 make[2]: Entering directory '/home/murrayc/checkout/gnome/libsigc++2/examples'
1437 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
1438 In file included from ../sigc++/adaptors/adaptor_trait.h:10:0,
1439 from ../sigc++/functors/slot.h:7,
1440 from ../sigc++/signal_base.h:27,
1441 from ../sigc++/signal.h:8,
1442 from ../sigc++/sigc++.h:86,
1443 from hello_world.cc:10:
1444 ../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>’:
1445 ../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}]’
1446 ../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>’
1447 ../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>&]’
1448 ../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>&]’
1449 ../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*)]’
1450 ../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>&]’
1451 ../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>&]’
1452 hello_world.cc:25:50: required from here
1453 ../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>’
1456 In file included from ../sigc++/signal_base.h:27:0,
1457 from ../sigc++/signal.h:8,
1458 from ../sigc++/sigc++.h:86,
1459 from hello_world.cc:10:
1460 ../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>&]’:
1461 ../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*)]’
1462 ../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>&]’
1463 ../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>&]’
1464 hello_world.cc:25:50: required from here
1465 ../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>&)’
1468 ../sigc++/functors/slot.h:137:20: note: candidates are:
1469 In file included from ../sigc++/functors/slot.h:7:0,
1470 from ../sigc++/signal_base.h:27,
1471 from ../sigc++/signal.h:8,
1472 from ../sigc++/sigc++.h:86,
1473 from hello_world.cc:10:
1474 ../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>]
1475 operator()(T_arg1 _A_arg1) const
1477 ../sigc++/adaptors/adaptor_trait.h:88:3: note: substitution of deduced template arguments resulted in errors seen above
1478 ../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>]
1479 operator()(T_arg1 _A_arg1, T_arg2 _A_arg2) const
1481 ../sigc++/adaptors/adaptor_trait.h:107:3: note: template argument deduction/substitution failed:
1482 In file included from ../sigc++/signal_base.h:27:0,
1483 from ../sigc++/signal.h:8,
1484 from ../sigc++/sigc++.h:86,
1485 from hello_world.cc:10:
1486 ../sigc++/functors/slot.h:137:20: note: candidate expects 2 arguments, 1 provided
1490 2015-09-11 Chun-wei Fan <fanchunwei@src.gnome.org>
1492 MSVC Builds: Add "Install" Project
1494 This makes building the -mm stack easier by copying the headers and the
1495 built DLL, PDB and LIB files to a location where it can be picked up by
1496 the gtkmm stack automatically, when they are extracted in a common
1497 directory. This is what is currently done with the GTK+ and Clutter
1498 stacks for Visual Studio builds.
1500 2015-09-09 Chun-wei Fan <fanchunwei@src.gnome.org>
1502 Update README on Visual Studio Builds
1504 Since the Visual Studio project files and the related sources have been
1505 updated to work with Visual Studio 2013, and that the test programs do
1506 run well there, update the README file to let people know the situation.
1508 https://bugzilla.gnome.org/show_bug.cgi?id=754082
1510 2015-09-09 Chun-wei Fan <fanchunwei@src.gnome.org>
1512 sigc++config.h.in: Allow Build for MSVC 2013
1514 MSVC 2013 does not have the C++-11 noexcept, so we need to define that to
1515 _NOEXCEPT for MSVC 2013. Plus, since by default MSVC 2013 does not allow
1516 us to re-define keywords, though they may or may not be supported, we need
1517 to use the _ALLOW_KEYWORD_MACROS macro to allow this to happen.
1519 https://bugzilla.gnome.org/show_bug.cgi?id=754082
1521 2015-09-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1523 Update source of web page
1525 * docs/website/fragments/footer.html_fragment:
1526 * docs/website/fragments/html_declaration.html_fragment:
1527 * docs/website/devel.shtml:
1528 * docs/website/doc.shtml:
1529 * docs/website/index.shtml:
1530 * docs/website/link.shtml:
1531 * docs/website/stable.shtml: Fix or remove broken links. Remove the lists of
1532 supported compilers. Mention that a C++11 compiler is required and that
1533 support for lambdas has been removed. Bug #754082.
1535 2015-09-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1539 2015-09-03 Murray Cumming <murrayc@murrayc.com>
1543 2015-09-03 Murray Cumming <murrayc@murrayc.com>
1545 Update tests/.gitignore
1547 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
1549 MSVC Builds: Use Windows Line Endings for .sln
1551 The .sln files need to have Windows/DOS line endings to work properly so
1552 that Windows can detect the Visual Studio version of the solution file.
1554 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
1556 MSVC Builds: Add Forgotten Files
1558 The MSVC projects now use property sheets, but they were forgotten from
1559 dist in the previous commits. Dist them... sorry!
1561 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
1563 MSVC Builds: Remove MSVC 2005 and 2008 projects
1565 They are now unable to build libsigc++ at all, so drop them.
1567 https://bugzilla.gnome.org/show_bug.cgi?id=754082
1569 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
1571 MSVC Builds: Rename MSVC_Net2010/ to MSVC_Net2013/
1573 Since libsigc++ now requires MSVC 2013 to build, the MSVC_Net2010 directory
1574 needs to be renamed to MSVC_Net2013, so that people will not be confused on
1575 what MSVC version is needed to build libsigc++. Also remove MSVC_Net2005
1576 and MSVC_Net2008 from the distribution, as they are no longer able to build
1579 https://bugzilla.gnome.org/show_bug.cgi?id=754082
1581 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1583 signal_base, trackable: Make move operations noexcept.
1585 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1587 Added test_signal_move.
1591 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1593 Added test_slot_move
1595 This seems to do what it should, acting much like regular slot copying.
1597 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1599 Add test_trackable_move.
1601 It doesn't segfault, but I'm not sure it's doing what it should.
1604 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1606 trackable: move constructor: null the src.
1608 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1610 trackable: move assignment operator: null the src.
1612 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1614 C++11: signal_base: Add move operations.
1616 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1618 trackable: Add missing operator=(&&) implementation.
1620 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1622 trackable: Add move operations.
1624 Also adding them to trackable_callback_list and makeing
1625 trackable_callback_list noncopyable, which I think is intended.
1627 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1629 C++11: slot*: Add move operations.
1631 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1633 C++11 slot_base: Add move operations.
1635 Improvements welcome.
1637 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1639 slot_base::operator=(const &): Copy blocked_ too.
1643 then a will be blocked if b was blocked. Otherwise it depends on
1644 whether a was blocked, which seems odd.
1646 If this is not the intended behaviour then we need a comment about it
1647 in operator=() and a test.
1649 2015-09-01 Murray Cumming <murrayc@murrayc.com>
1653 2015-08-31 Chun-wei Fan <fanchunwei@src.gnome.org>
1655 MSVC Projects: Overhaul The Projects
1657 The former MSVC 2010 (2012) projects carried over quite a bit of cruft from
1658 the Visual Studio 2003 days, and there are a number of items that could be
1659 consolidated into ptoperty sheets, so it's time that the projects get a
1660 clean up and overhaul. This is not unlike what was done to the glibmm
1661 projects some time ago.
1663 Consolidate the projects all into MSVC_Net2010, without subdirectories, as
1664 the property sheets will separate the object files of the various projects
1665 into their own places.
1667 This will also likely enable us to support MSVC 2015 in a more efficient
1670 Also, move the projects configs to MSVC 2013, as that is now the minimum
1671 version of MSVC required to build sigc++.
1673 2015-08-14 Murray Cumming <murrayc@murrayc.com>
1675 deduce_result_t: Add initial T_return template parameter.
1677 To make it clearer that this is how to use it.
1679 2015-08-14 Murray Cumming <murrayc@murrayc.com>
1681 tests: Use sigc::deduce_result_t<> instead of deduce_result_type<>::type.
1683 This removes the last use of sigc::deduce_result_type<>, allowing
1684 us to change the implementation of sigc::deduce_result_t more easily.
1686 2015-08-14 Murray Cumming <murrayc@murrayc.com>
1688 exception_catch.h: Generate deduce_result_type for the void specializations too.
1690 I guess this is correct and test_exception_catch still passes.
1691 Without this, it's actually using, for instance:
1692 sigc::deduce_result_type<T_arg1, T_Arg2>
1693 even though sigc::deduce_result_type<> should really be called with a result type
1695 sigc::deduce_result_type<T_return, T_arg1, T_Arg2>
1697 Explicitly changing it to use
1698 sigc::deduce_result_type<T_return, T_Arg1, T_Arg2>
1700 sigc::deduce_result_type<T_Arg1, T_Arg2>
1702 deduce_result_type<T_Arg1, T_Arg2>
1703 doesn't seem to break things either, probably out of luck,
1704 but changing it to define a type that it actually seems to expect seems
1705 cleaner, and makes it easier for us to change sigc::deduce_result_type.
1707 2015-08-13 Murray Cumming <murrayc@murrayc.com>
1709 C++11: deduce_result_type.h: Add and use a deduce_result_t<> alias.
1711 This simplifies the code a bit, by replacing use of this:
1712 typename deduce_result_type<SomeType1, SomeType2>::type
1714 deduce_result_t<SomeType1, SomeType2>
1716 Note that the alias is a C++11 variadic template.
1719 2015-08-13 Murray Cumming <murrayc@murrayc.com>
1721 type_traits.h: Remove the unused type and pointer types.
1723 These were apparently never used.
1726 2015-08-13 Murray Cumming <murrayc@murrayc.com>
1728 type_trait: Define and use type_trait_pass/take_t aliases.
1730 This simplifies the code a bit, by replacing use of this:
1731 typename type_trait<SomeType>::take
1733 type_trait_take_t<SomeType>
1736 2015-08-13 Murray Cumming <murrayc@murrayc.com>
1740 2015-08-13 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1742 Remove the sigc++/object.h header
1744 Because it now contains no API.
1745 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1747 2015-08-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1749 Update sigc++/.gitignore
1751 2015-08-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1753 Store sigc++/slot.h in git, don't generate it from m4
1755 * sigc++/macros/slot.h.m4: Remove.
1756 * sigc++/slot.h: New in git.
1757 * sigc++/filelist.am: Replace sigc++/macros/slot.h.m4 by sigc++/slot.h.
1758 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1760 2015-08-12 Murray Cumming <murrayc@murrayc.com>
1762 Remove the (generated) sigc++/hide.h header.
1764 Because it now contains no API.
1765 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1767 The generated sigc++/hide file did not include sigc++/adaptors/hide.h
1768 so it did not exist as a convenience.
1770 2015-08-12 Murray Cumming <murrayc@murrayc.com>
1772 Remove the (generated) sigc++/retype.h header.
1774 Because it now contains no API.
1775 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1777 sigc++/macros/retype_h.m4 did define some m4 macros but these were
1778 not actually used. The generated sigc++/retype.h file did not
1779 include sigc++/adaptors/retype.h so it did not exist as a convenience.
1781 2015-08-12 Murray Cumming <murrayc@murrayc.com>
1783 Remove the (generated) sigc++/object_slot.h header.
1785 Because it now contains no API.
1786 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1788 2015-08-12 Murray Cumming <murrayc@murrayc.com>
1790 Remove the (generated) method_slot.h header.
1792 Because it now contains no API.
1793 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1795 2015-08-12 Murray Cumming <murrayc@murrayc.com>
1797 Remove the (generated) class_slot.h header.
1799 Because it now contains no API.
1800 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
1802 2015-08-04 Chun-wei Fan <fanchunwei@src.gnome.org>
1804 Visual Studio Builds: Move 2010 Projects to 2012
1806 Since the builds of the *mm stack are going to use C++11, this means that
1807 we can't build libsigc++ with MSVC 2005~2010 anymore, so we need to update
1808 the Visual Studio project files to version 2012 (11.0), so that we can
1809 still support building with Visual Studio, as it does support enough of
1810 C++11 features that is needed.
1812 Also clean up a little bit by dropping some of the unneeded items from the
1813 projects and solution files.
1815 These project files are clearly going to need more cleanup, and we should
1816 drop the MSVC_Net2005 and MSVC_Net2008 folders, and rename MSVC_Net2010 to
1817 MSVC_Net2012, but this commit will ensure that libsigc++ is indeed still
1818 buildable with Visual Studio, and we can support Visual Studio 2013 and
1819 2015 in a more efficient manner.
1821 2015-08-03 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1823 C++11: Replace deprecated std::auto_ptr by std::unique_ptr
1825 2015-07-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1827 C++11: visit_each_type<>(): Another check for the same type
1829 The rest of my suggested additions in bug 752560 comment 3.
1830 The #include <type_traits> are necessary, if header files are included
1831 one-by-one, and not via #include <sigc++/sigc++.h>.
1833 2015-07-25 Murray Cumming <murrayc@murrayc.com>
1835 C++11: visit_each<>: Check for the same type as well as the base.
1837 As suggested by Kjell Ahlstedt here:
1838 https://bugzilla.gnome.org/show_bug.cgi?id=752560#c3
1840 This fixes the test cases.
1842 2015-07-25 Murray Cumming <murrayc@murrayc.com>
1844 C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
1846 As suggested by Kjell's comment here:
1847 https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
1848 This also removes sigc::is_base_and_derived<> which should cause
1849 only a slight API change but no ABI change.
1853 2015-07-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1855 Update README, remove TODO
1857 * README: Remove lambda from the list of directories.
1858 Remove the list of compatible compilers. It has become obsolete now that
1859 libsigc++ uses C++11 features.
1860 * TODO: Remove. It's obsolete. TODO comments are now scattered in
1863 2015-07-18 Murray Cumming <murrayc@murrayc.com>
1865 C++11: Use of range-based for loops.
1867 2015-07-18 Murray Cumming <murrayc@murrayc.com>
1869 C++11: More use of auto.
1871 2015-07-18 Murray Cumming <murrayc@murrayc.com>
1875 Trying to avoid using auto where its a specific type that we are
1878 2015-07-18 Murray Cumming <murrayc@murrayc.com>
1880 Use -Wformat-security with --enable-warnings=fatal.
1882 Because we use it in glibmm already. No code changes were necessary.
1884 2015-07-18 Murray Cumming <murrayc@murrayc.com>
1886 Use -Wshadow with --enable-warnings=fatal.
1888 2015-07-18 Murray Cumming <murrayc@murrayc.com>
1890 Revert "C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>."
1892 This reverts commit bf89034e116d4d9eb761ceb4597c69f0f2b9c597.
1893 I didn't meat to push that quite yet.
1895 2015-07-18 Murray Cumming <murrayc@murrayc.com>
1897 C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
1899 As suggested by Kjell's comment here:
1900 https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
1901 This also removes sigc::is_base_and_derived<> which should cause
1902 only a slight API change but no ABI change.
1904 2015-07-18 Murray Cumming <murrayc@murrayc.com>
1906 C++11: Use of nullptr instead of 0.
1908 2015-07-18 Murray Cumming <murrayc@murrayc.com>
1914 2015-07-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1916 Require mm-common 0.9.8
1918 2015-07-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1920 Remove remaining parts of the sigc::lambda documentation
1922 * docs/index.html: Remove link to group__lambdas.html.
1923 * sigc++/adaptors/macros/bind.h.m4:
1924 * sigc++/adaptors/macros/compose.h.m4:
1925 * sigc++/adaptors/macros/hide.h.m4: Remove talk of sigc::group().
1926 * sigc++/.gitignore:
1927 * tests/.gitignore: Remove files that are no longer generated. Bug #672555.
1929 2015-07-17 Murray Cumming <murrayc@murrayc.com>
1931 Remove remaining parts of the sigc::lambda API.
1933 The remaining API, defined in a .cc file, does not actually end up
1934 being used by applications, so we can safely remove it.
1935 See https://bugzilla.gnome.org/show_bug.cgi?id=672555#c21
1937 2015-07-17 Murray Cumming <murrayc@murrayc.com>
1939 Remove deprecated sigc::lambda API that is only in headers.
1941 So this is an API removal (of deprecated API) but not an ABI change.
1942 The remaining deprecated API in the headers is needed by the definitions
1946 2015-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1948 C++11: Avoid the need for SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
1950 * sigc++/adaptors/lambda/macros/base.h.m4:
1951 * sigc++/adaptors/lambda/macros/group.h.m4:
1952 * sigc++/adaptors/macros/track_obj.h.m4:
1953 * sigc++/macros/signal.h.m4: Remove all talk about
1954 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
1955 * sigc++/functors/slot_base.h: Mentioned that
1956 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE is not needed any more.
1957 * tests/test_cpp11_lambda.cc:
1958 * tests/test_track_obj.cc: Remove calls to
1959 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE and tests for C++11 capability.
1960 * sigc++/functors/macros/functor_trait.h.m4: Add class
1961 can_deduce_result_type_with_decltype<>. Use it as default value for the new
1962 template parameter I_can_use_decltype in struct functor_trait<>.
1964 Murray Cumming made the changes of all files except functor_trait.h.m4.
1966 2015-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1970 * configure.ac: Use MM_AX_CXX_COMPILE_STDCXX_11 to check for compiler
1971 support for C++11 and use it (--std=c++11 for current versions of
1974 2015-02-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1978 2015-02-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1980 Docs: Update for Doxygen 1.8.9
1982 * docs/reference/Doxyfile.in: Update for Doxygen 1.8.9.
1984 2014-10-23 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1986 Tests: Improve test_disconnect_during_emit
1988 * tests/test_disconnect_during_emit.cc: Test that the slot is really
1989 disconnected during signal emission.
1991 2014-10-23 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1993 slot_base: Let the assignment operator destroy the slot
1995 * sigc++/functors/slot_base.cc: slot_base's assignment operator shall
1996 destroy the old slot_rep even if the assigned slot is empty. Bug #738602.
1998 2014-09-15 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2002 2014-09-15 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2004 Docs: Use doxygen-extra.css
2006 * configure.ac: Require mm-common 0.9.7.
2007 * docs/.gitignore: Ignore doxygen-extra.css.
2008 * docs/reference/Doxyfile.in: Use doxygen-extra.css instead of doxygen.css.
2010 2014-09-11 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2012 doap: Add <description>
2014 2014-08-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2016 test_lambda: Fix for MS Visual C++ 2013
2018 * tests/test_lambda.cc: Don't rely on implicit conversion from std::ostream
2019 to bool. Instead, hide a problematic slot return type with sigc::hide_return().
2022 2014-08-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2024 Add an include in limit_reference.h
2026 * sigc++/macros/limit_reference.h.m4: limit_reference.h must include
2027 visit_each.h, with the primary definition of template struct visitor.
2028 https://mail.gnome.org/archives/libsigc-list/2014-August/msg00001.html
2030 2014-08-01 Andre Klapper <a9016009@gmx.de>
2032 doap: add <programming-language>
2034 2014-08-01 Olav Vitters <olav@vitters.nl>
2036 doap: link tarball name and git module
2038 2014-07-31 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2042 2014-07-31 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2044 Remove .gitattributes
2046 * .gitattributes: Instructed git to use a custom merge function for
2047 merging ChangeLog. Might have been useful, but it's not any more.
2049 2014-07-30 Olav Vitters <olav@vitters.nl>
2053 2014-07-29 Ryan Beasley <rbeasley@vmware.com>
2055 Tests: Enable C++11 lambda expressions with MS Visual Studio 2012 and later
2057 * tests/test_cpp11_lambda.cc:
2058 * tests/test_track_obj.cc: Compile C++11 lambda expressions if
2059 _MSC_VER >= 1700. Bug #733752.
2061 2014-07-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2063 Documentation: Emphasize that signals are ref counted
2065 * sigc++/signal_base.h: Emphasize that a sigc::signal holds a pointer to
2066 a ref counted signal_impl. Bug #611941.
2068 2014-07-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2070 Add test_visit_each to MSVC_Net2010
2072 * MSVC_Net2010/filelist.am: Add new project files.
2073 * MSVC_Net2010/libsigc++2.sln: Add new project.
2074 * MSVC_Net2010/tests/test_visit_each/: New test case. Bug #724496.
2076 2014-07-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2078 Tests: Add test_visit_each
2081 * tests/Makefile.am: Add test_visit_each.
2082 * tests/test_visit_each.cc: New file. Bug #724496.
2084 2014-07-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2086 Replace visit_each() overloads by struct visitor<>
2088 Note: This patch breaks API for some users, but it does not break ABI.
2089 Only users who have added their own visit_each() overloads are affected by
2090 the API break. Their programs will still compile, but there will be run-time
2091 errors, if they rely on auto-disconnection of slots.
2092 Updated instructions for users who implement their own adaptors are found in
2093 the description of sigc::adapts<>.
2095 * sigc++/adaptors/bound_argument.h:
2096 * sigc++/adaptors/macros/adaptor_trait.h.m4:
2097 * sigc++/adaptors/macros/bind.h.m4:
2098 * sigc++/adaptors/macros/bind_return.h.m4:
2099 * sigc++/adaptors/macros/compose.h.m4:
2100 * sigc++/adaptors/macros/exception_catch.h.m4:
2101 * sigc++/adaptors/macros/hide.h.m4:
2102 * sigc++/adaptors/macros/retype.h.m4:
2103 * sigc++/adaptors/macros/retype_return.h.m4:
2104 * sigc++/adaptors/macros/track_obj.h.m4:
2105 * sigc++/adaptors/lambda/macros/base.h.m4:
2106 * sigc++/adaptors/lambda/macros/group.h.m4:
2107 * sigc++/adaptors/lambda/macros/operator.h.m4:
2108 * sigc++/functors/macros/mem_fun.h.m4:
2109 * sigc++/macros/limit_reference.h.m4:
2110 * sigc++/visit_each.h: Replace overloads of visit_each<>() by
2111 specializations of struct visitor<> with a specialized member function
2112 do_visit_each<>(). Qualify all calls to visit_each() with sigc:: to avoid
2113 argument-dependent lookup.
2114 * sigc++/functors/macros/slot.h.m4: Qualify the calls to visit_each_type()
2115 with sigc:: to avoid argument-dependent lookup.
2116 * tests/test_functor_trait.cc: Fix the expected result now when the test
2118 Thanks to Ryan Beasley <rbeasley@vmware.com>, bug #724496.
2120 2014-07-25 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2122 signal_impl::notify(): Don't delete signal_impl during erase()
2124 * sigc++/signal_base.cc: signal_impl::notify() and sweep(): Don't delete
2125 signal_impl while its slot list is being manipulated. Without this fix,
2126 tests/test_bind_refptr crashes in MS Visual C++ in debug mode.
2127 The behaviour without the fix is risky, and shall be avoided. Bug #564005.
2129 2014-07-24 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2131 Update the signal_impl::notify() documentation
2133 * sigc++/signal_base.h: Update the signal_impl::notify() documentation.
2134 It should have been updated when notify() was updated. Bug #167714.
2136 2014-07-24 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2138 Add a maintainer in the DOAP file
2140 2014-07-18 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2144 * MSVC_Net2010/filelist.am: Add new project files.
2145 * MSVC_Net2010/libsigc++2.sln: Add new projects.
2146 * MSVC_Net2010/libsigc++2.vcxproj.filters:
2147 * MSVC_Net2010/libsigc++2.vcxproj: Update the list of header files.
2148 * MSVC_Net2010/tests/test_*/test_*.vcxproj.filters:
2149 * MSVC_Net2010/tests/test_*/test_*.vcxproj: Add testutilities.[h|cc].
2150 * MSVC_Net2010/tests/test_accum_iter/:
2151 * MSVC_Net2010/tests/test_bind_ref/:
2152 * MSVC_Net2010/tests/test_bind_refptr/:
2153 * MSVC_Net2010/tests/test_copy_invalid_slot/:
2154 * MSVC_Net2010/tests/test_cpp11_lambda/:
2155 * MSVC_Net2010/tests/test_custom/:
2156 * MSVC_Net2010/tests/test_lambda/:
2157 * MSVC_Net2010/tests/test_limit_reference/:
2158 * MSVC_Net2010/tests/test_slot_disconnect/:
2159 * MSVC_Net2010/tests/test_track_obj/: New test case projects. Bug #724496.
2161 2014-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2163 Fix 'make check' with clang++ and --enable-warnings=fatal
2165 * tests/test_cpp11_lambda.cc:
2166 * tests/test_deduce_result_type.cc:
2167 * tests/test_track_obj.cc: Don't define functions which are not used.
2168 The clang++ compiler considers unused functions an error, when libsigc++ is
2169 configured with --enable-warnings=fatal. Bug #724496.
2171 2013-10-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2173 Documentation: Talk less about std::function
2175 * sigc++/functors/macros/slot.h.m4:
2176 * sigc++/functors/slot_base.h: Remove the examples with std::function.
2177 Add an example with a C++11 lambda expression.
2178 https://mail.gnome.org/archives/libsigc-list/2013-October/msg00003.html
2180 2013-10-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2182 Update .gitignore files
2185 * tests/.gitignore: Ignore files generated by automake 1.13 and 'make check'.
2187 2013-10-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2189 Documentation: Mention std::function and std::bind() in more comments
2191 * sigc++/functors/macros/functor_trait.h.m4: Mention that
2192 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE does not support functors
2193 with overloaded operator()().
2194 * sigc++/adaptors/macros/track_obj.h.m4:
2195 * sigc++/functors/macros/slot.h.m4:
2196 * sigc++/functors/slot_base.h:
2197 * sigc++/signal_base.h: Mention std::function as an alternative to
2199 * sigc++/macros/signal.h.m4: connect(): Describe why the result of
2200 std::bind() can't be connected directly to a signal.
2202 2013-10-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2204 Fix test_cpp11_lambda for gcc 4.8
2206 * tests/test_cpp11_lambda.cc: Remove an unneccesary std::ref().
2207 Show that std::bind() can be assigned to a slot, if it's combined with
2210 2013-07-30 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2212 signal_base, signal_impl: Speed up disconnection of slots.
2214 * sigc++/signal_base.cc: Tell signal_impl::notify() which slot is being
2215 disconnected. Execution time is then usually O(1) instead of O(n), where n
2216 is the size of the slot list. Disconnect all connected slots when a signal is
2217 deleted. Disconnect slots before they are erased from a signal's slot list.
2220 2013-07-03 José Alburquerque <jaalburquerque@gmail.com>
2222 Move to a generated ChangeLog.
2224 2013-07-02 José Alburquerque <jaalburquerque@gmail.com>
2226 Auto-generate the ChangeLog from the git log for 'make dist'.
2228 * Makefile.am: Include the dist-changelog.am file copied in build/
2229 from mm-common so that the ChangeLog is automatically generated from
2230 the git commit messages on 'make dist'.
2232 2013-05-01 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2234 Don't use __file__ in the FIREWALL m4 macro.
2236 * sigc++/adaptors/lambda/macros/group.h.m4:
2237 * sigc++/adaptors/macros/*.h.m4:
2238 * sigc++/functors/macros/*.h.m4:
2239 * sigc++/macros/class_slot.h.m4:
2240 * sigc++/macros/hide.h.m4:
2241 * sigc++/macros/limit_reference.h.m4:
2242 * sigc++/macros/method_slot.h.m4:
2243 * sigc++/macros/retype.h.m4:
2244 * sigc++/macros/slot.h.m4: Replace __FIREWALL__ with _FIREWALL(filename).
2245 * sigc++/macros/template.macros.m4: Replace __FIREWALL__ with _FIREWALL,
2246 taking a parameter. Don't use __file__ to generate the name of the C++
2247 preprocessor macro. __file__ may expand to an absolute path, containing
2248 almost all sorts of special characters and being excessively long.
2251 2013-04-11 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2253 Use DOXYGEN_SHOULD_SKIP_THIS consistently.
2255 * docs/reference/Doxyfile.in: EXTRACT_ALL=YES, like in most mm packages.
2256 * sigc++/sigc++.h: Mention that the reference manual contains only some of
2257 the template specializations.
2258 * sigc++/adaptors/bound_argument.h:
2259 * sigc++/adaptors/lambda/macros/base.h.m4:
2260 * sigc++/adaptors/lambda/macros/group.h.m4:
2261 * sigc++/adaptors/macros/adaptor_trait.h.m4:
2262 * sigc++/adaptors/macros/bind.h.m4:
2263 * sigc++/adaptors/macros/bind_return.h.m4:
2264 * sigc++/adaptors/macros/compose.h.m4:
2265 * sigc++/adaptors/macros/deduce_result_type.h.m4:
2266 * sigc++/adaptors/macros/exception_catch.h.m4:
2267 * sigc++/adaptors/macros/hide.h.m4:
2268 * sigc++/adaptors/macros/retype.h.m4:
2269 * sigc++/adaptors/macros/retype_return.h.m4:
2270 * sigc++/adaptors/macros/track_obj.h.m4:
2271 * sigc++/functors/macros/functor_trait.h.m4:
2272 * sigc++/functors/macros/mem_fun.h.m4:
2273 * sigc++/macros/limit_reference.h.m4:
2274 * sigc++/type_traits.h:
2275 * sigc++/visit_each.h: Use DOXYGEN_SHOULD_SKIP_THIS to mark what Doxygen
2278 2013-03-20 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2280 Suppress erroneous links in documentation.
2282 * sigc++/adaptors/lambda/macros/base.h.m4:
2283 * sigc++/adaptors/lambda/macros/group.h.m4:
2284 * sigc++/adaptors/lambda/macros/select.h.m4: Doxygen links std::bind to
2285 sigc::bind. Suppress these links. No link is better than the wrong link.
2287 2013-03-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2289 Deprecate libsigc++ lambdas, sigc::group(), sigc::var().
2291 * configure.ac: Add MM_ARG_DISABLE_DEPRECATED_API(SIGCXX).
2292 * sigc++/adaptors/lambda/macros/base.h.m4:
2293 * sigc++/adaptors/lambda/macros/group.h.m4:
2294 * sigc++/adaptors/lambda/macros/lambda.cc.m4:
2295 * sigc++/adaptors/lambda/macros/operator.h.m4:
2296 * sigc++/adaptors/lambda/macros/select.h.m4: Deprecate everything.
2297 * sigc++/macros/template.macros.m4: Add deprecation macros.
2298 * sigc++config.h.in: Add #undef SIGCXX_DISABLE_DEPRECATED.
2299 * tests/test_lambda.cc: Skip test if SIGCXX_DISABLE_DEPRECATED is defined.
2302 2013-02-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2304 Add track_obj() and test_track_obj.
2306 * sigc++/.gitignore: Add adaptors/track_obj.h.
2307 * sigc++/adaptors/adaptors.h: Add sigc++/adaptors/track_obj.h.
2308 * sigc++/adaptors/lambda/macros/group.h.m4:
2309 * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention track_obj() in the
2311 * sigc++/adaptors/macros/track_obj.h.m4: New file.
2312 * sigc++/filelist.am: Add track_obj.h.m4 and track_obj.h.
2314 * tests/Makefile.am: Add test_track_obj.
2315 * tests/test_cpp11_lambda.cc: Use track_obj() to test auto-disconnection.
2316 * tests/test_track_obj.cc: New test case.
2319 2013-01-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2321 Documentation: Fix many warnings from Doxygen.
2323 * configure.ac: Require mm-common 0.9.6 or later.
2324 * docs/reference/Doxyfile.in: Don't warn for undocumented classes and structs.
2325 * sigc++/adaptors/macros/bind.h.m4:
2326 * sigc++/adaptors/macros/bind_return.h.m4:
2327 * sigc++/adaptors/macros/compose.h.m4:
2328 * sigc++/adaptors/macros/hide.h.m4:
2329 * sigc++/connection.h:
2330 * sigc++/macros/limit_reference.h.m4: Make all parameter names in @param
2331 commands equal to the corresponding names in the function declarations.
2332 * sigc++/signal_base.h: Remove an extraneous period that confuses Doxygen.
2333 * sigc++/type_traits.h: Add a missing @code/@endcode pair.
2335 2012-10-18 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2337 Test cases: Report pass/fail with exit status.
2339 * tests/testutilities.[h|cc]: New files. Code common to all test cases.
2340 * tests/*.cc: Use class TestUtilities. Don't print anything
2341 if the test passes. Return EXIT_FAILURE if the test fails.
2342 * tests/Makefile.am: Add testutilities.[h|cc] to all test cases.
2345 2012-10-18 Murray Cumming <murrayc@murrayc.com>
2349 2012-10-18 Murray Cumming <murrayc@murrayc.com>
2351 Update the Doxyfile.in syntax.
2353 * docs/reference/Doxyfile.in: By running doxygen -u
2356 2012-10-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2358 Add some missing newin{}.
2360 * docs/reference/Doxyfile.in: Add ALIASES newin.
2361 * sigc++/functors/macros/functor_trait.h.m4: Add newin{2,2,11} to
2362 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
2363 * sigc++/signal_base.h: Add newin{2,4} to signal_impl::blocked(), block() and
2364 signal_base::blocked(), block(), unblock(). Bug #153780.
2366 2012-10-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2368 signal_base: Add blocked(), block(), unblock().
2370 * sigc++/signal_base.[h|cc]: Add signal_impl::blocked(), block() and
2371 signal_base::blocked(), block(), unblock(). Bug #153780.
2373 2012-09-23 Murray Cumming <murrayc@murrayc.com>
2377 2012-09-20 Andris Pavenis <andris.pavenis@iki.fi>
2379 Fix comma operator in lambda expressions.
2381 * sigc++/adaptors/lambda/macros/operator.h.m4: Add lambda_action<>
2382 specialization for comma operator (operator,()).
2383 * tests/test_cpp11_lambda.cc:
2384 * tests/test_lambda.cc: Add a test case for the comma operator. Bug #342911.
2386 2012-09-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2388 Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
2390 * sigc++/adaptors/lambda/macros/base.h.m4:
2391 * sigc++/adaptors/lambda/macros/group.h.m4:
2392 * sigc++/functors/macros/functor_trait.h.m4:
2393 * tests/test_cpp11_lambda.cc: Replace the preprocessor macro
2394 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword) with
2395 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. Bug #672555.
2397 2012-09-10 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2399 Correct a bug number in ChangeLog.
2401 2012-09-10 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2403 Use std::size_t and std::ptrdiff_t.
2405 * sigc++/macros/signal.h.m4: Use std::size_t and std::ptrdiff_t instead
2406 of ::size_t and ::ptrdiff_t. Only the std versions are required to be
2407 declared in <cstddef>.
2408 * sigc++/signal_base.h: Use std::size_t instead of ::size_t. (I did not change
2409 MSVC++-only code in this file and other files.)
2411 2012-09-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2413 Fix 'make check' with gcc 4.7.
2415 * sigc++/adaptors/lambda/macros/base.h.m4: Define sigc::unwrap_lambda_value()
2416 before it's used in sigc::lambda::operator[]() and operator=().
2417 * sigc++/adaptors/lambda/macros/group.h.m4: Fix the C++11 examples in the
2418 documentation as in test_cpp11_lambda.cc.
2419 * tests/test_cpp11_lambda.cc: Only variables with automatic storage duration
2420 shall be captured in C++11 lambda expressions.
2422 2012-08-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2424 Update .gitignore and tests/.gitignore
2426 * .gitignore: Add *~ (gedit's backup files).
2427 * tests/.gitignore: Add missing executable test files.
2429 2012-08-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2431 Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH for C++11 lambda expressions.
2433 * sigc++/functors/macros/functor_trait.h.m4: Add the preprocessor macro
2434 SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword), which makes it possible to
2435 assign C++11 lambda expressions with any return type to slots.
2436 Thanks to Chow Loong Jin, who posted similar code on libsigc-list.
2437 * sigc++/adaptors/lambda/macros/base.h.m4:
2438 * sigc++/adaptors/lambda/macros/group.h.m4: Add information on C++11 lambda
2439 expressions to the documentation of lambda expressions and sigc::group().
2440 * tests/Makefile.am: Add test_cpp11_lambda.cc.
2441 * tests/test_cpp11_lambda.cc: New test case, showing that most uses of
2442 libsigc++'s lambda expressions can be replaced by standard C++11 lambda
2443 expressions. Bug #672555.
2445 2012-03-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2447 Enable test_lambda in 'make check'.
2449 * tests/Makefile.am: Enable test_lambda in 'make check'.
2450 * tests/test_lambda.cc: Comment out the tests with sigc::ref() in lambda
2451 functions' parameter lists. See Bug #669128.
2453 2012-02-29 Andre Klapper <ak-47@gmx.net>
2455 Add missing bug-database entry to DOAP file
2457 2011-09-22 Krzesimir Nowak <qdlacz@gmail.com>
2459 Don't use obsolete macros.
2461 * autogen.sh: Warn about everything during autoreconf.
2463 * build/cxx_std.m4: Replaced AC_TRY_COMPILE with AC_COMPILE_IFELSE.
2464 * configure.ac: Use LT_INIT.
2466 2011-07-25 Murray Cumming <murrayc@murrayc.com>
2470 2011-07-21 Thomas Rydzynski <qsorix@rydznet.pl>
2472 Mention visit_each() in the documentation of sigc::adapts.
2474 * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention that a user-supplied
2475 adaptor must be accompanied by a specialization of template function
2476 visit_each(). Correct some minor errors in the example of a user-supplied
2477 adaptor. Bug #486373.
2479 2011-07-20 Murray Cumming <murrayc@murrayc.com>
2481 Missing changes from the previous commit.
2483 2011-07-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2485 Add a test case for the previous commit.
2487 * tests/Makefile.am:
2488 * tests/test_bind_refptr.cc: A version of this test is also in glibmm.
2489 Note that this includes a copy/paste of RefPtr.
2492 2011-07-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2494 slot_rep: Avoid access to deleted object in notify().
2496 * sigc++/functors/slot_base.cc: slot_rep::notify() calls disconnect() before
2497 destroy(). If disconnect() has deleted the slot_rep object, destroy() is not
2498 called. Bug #564005.
2500 2011-05-24 Olav Vitters <olav@vitters.nl>
2502 Use tar-ustar instead of tar-pax to ensure OpenBSD compatibility
2504 2011-03-08 Murray Cumming <murrayc@murrayc.com>
2508 2011-02-22 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2510 trackable: Avoid calling the same callback function twice
2512 * sigc++/trackable.cc: Invalidate a callback function entry in
2513 trackable_callback_list::remove_callback() when the list is being cleared.
2516 2011-02-04 Kalev Lember <kalev@smartlink.ee>
2518 Fix the build with GCC 4.6
2520 * sigc++/signal_base.h: Include <cstddef> for size_t.
2522 2010-10-12 David King <davidk@openismus.com>
2524 Update .gitignore and tests/.gitignore
2526 2010-10-12 David King <davidk@openismus.com>
2528 Documentation changes
2530 * *.h.m4: Minor changes to documentation to fix up code example
2531 formatting, by removing the additional two spaces of indentation.
2532 Additionally, fix some spelling and grammar mistakes and typos.
2534 2010-09-26 Armin Burgmeier <armin@arbur.net>
2536 Add support for 64 bit to MSVC project files
2538 2010-09-27 Armin Burgmeier <armin@arbur.net>
2540 * MSVC_Net2005/libsigc++2.sln:
2541 * MSVC_Net2005/libsigc++2.vcproj:
2542 * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
2543 * MSVC_Net2005/tests/test_bind/test_bind.vcproj:
2544 * MSVC_Net2005/tests/test_bind_return/test_bind_return.vcproj:
2545 * MSVC_Net2005/tests/test_compose/test_compose.vcproj:
2546 * MSVC_Net2005/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
2547 * MSVC_Net2005/tests/test_disconnect/test_disconnect.vcproj:
2548 * MSVC_Net2005/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
2549 * MSVC_Net2005/tests/test_exception_catch/test_exception_catch.vcproj:
2550 * MSVC_Net2005/tests/test_functor_trait/test_functor_trait.vcproj:
2551 * MSVC_Net2005/tests/test_hide/test_hide.vcproj:
2552 * MSVC_Net2005/tests/test_mem_fun/test_mem_fun.vcproj:
2553 * MSVC_Net2005/tests/test_ptr_fun/test_ptr_fun.vcproj:
2554 * MSVC_Net2005/tests/test_retype/test_retype.vcproj:
2555 * MSVC_Net2005/tests/test_retype_return/test_retype_return.vcproj:
2556 * MSVC_Net2005/tests/test_signal/test_signal.vcproj:
2557 * MSVC_Net2005/tests/test_size/test_size.vcproj:
2558 * MSVC_Net2005/tests/test_slot/test_slot.vcproj:
2559 * MSVC_Net2005/tests/test_trackable/test_trackable.vcproj:
2560 * MSVC_Net2008/libsigc++2.sln:
2561 * MSVC_Net2008/libsigc++2.vcproj:
2562 * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj:
2563 * MSVC_Net2008/tests/test_bind/test_bind.vcproj:
2564 * MSVC_Net2008/tests/test_bind_return/test_bind_return.vcproj:
2565 * MSVC_Net2008/tests/test_compose/test_compose.vcproj:
2566 * MSVC_Net2008/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
2567 * MSVC_Net2008/tests/test_disconnect/test_disconnect.vcproj:
2568 * MSVC_Net2008/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
2569 * MSVC_Net2008/tests/test_exception_catch/test_exception_catch.vcproj:
2570 * MSVC_Net2008/tests/test_functor_trait/test_functor_trait.vcproj:
2571 * MSVC_Net2008/tests/test_hide/test_hide.vcproj:
2572 * MSVC_Net2008/tests/test_mem_fun/test_mem_fun.vcproj:
2573 * MSVC_Net2008/tests/test_ptr_fun/test_ptr_fun.vcproj:
2574 * MSVC_Net2008/tests/test_retype/test_retype.vcproj:
2575 * MSVC_Net2008/tests/test_retype_return/test_retype_return.vcproj:
2576 * MSVC_Net2008/tests/test_signal/test_signal.vcproj:
2577 * MSVC_Net2008/tests/test_size/test_size.vcproj:
2578 * MSVC_Net2008/tests/test_slot/test_slot.vcproj:
2579 * MSVC_Net2008/tests/test_trackable/test_trackable.vcproj:
2580 * MSVC_Net2010/libsigc++2.vcxproj:
2581 * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
2582 * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
2583 * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
2584 * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
2585 * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
2586 * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
2587 * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
2589 2010-09-26 Armin Burgmeier <armin@arbur.net>
2591 Add test_accumulated to the MSVC projects
2593 2010-09-27 Armin Burgmeier <armin@arbur.net>
2595 * MSVC_Net2005/libsigc++2.sln:
2596 * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
2597 * MSVC_Net2008/libsigc++2.sln:
2598 * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj: Add
2599 test_accumulated to the MSVC projects.
2601 2010-09-20 Armin Burgmeier <armin@arbur.net>
2603 Added MSVC 2010 project files
2605 2010-09-19 Armin Burgmeier <armin@arbur.net>
2607 * MSVC_Net2010/filelist.am:
2608 * MSVC_Net2010/libsigc++2.sln:
2609 * MSVC_Net2010/libsigc++2.vcxproj:
2610 * MSVC_Net2010/libsigc++2.vcxproj.filters:
2611 * MSVC_Net2010/sigc.rc.in:
2612 * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
2613 * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj.filters:
2614 * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
2615 * MSVC_Net2010/tests/test_bind/test_bind.vcxproj.filters:
2616 * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
2617 * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj.filters:
2618 * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
2619 * MSVC_Net2010/tests/test_compose/test_compose.vcxproj.filters:
2620 * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
2621 * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj.filters:
2622 * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
2623 * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj.filters:
2624 * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
2625 * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj.filters:
2626 * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj:
2627 * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj.filters:
2628 * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj:
2629 * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj.filters:
2630 * MSVC_Net2010/tests/test_hide/test_hide.vcxproj:
2631 * MSVC_Net2010/tests/test_hide/test_hide.vcxproj.filters:
2632 * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj:
2633 * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj.filters:
2634 * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj:
2635 * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj.filters:
2636 * MSVC_Net2010/tests/test_retype/test_retype.vcxproj:
2637 * MSVC_Net2010/tests/test_retype/test_retype.vcxproj.filters:
2638 * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj:
2639 * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj.filters:
2640 * MSVC_Net2010/tests/test_signal/test_signal.vcxproj:
2641 * MSVC_Net2010/tests/test_signal/test_signal.vcxproj.filters:
2642 * MSVC_Net2010/tests/test_size/test_size.vcxproj:
2643 * MSVC_Net2010/tests/test_size/test_size.vcxproj.filters:
2644 * MSVC_Net2010/tests/test_slot/test_slot.vcxproj:
2645 * MSVC_Net2010/tests/test_slot/test_slot.vcxproj.filters:
2646 * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj:
2647 * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj.filters:
2650 * configure.ac: Added project files for Visual Studio 2010.
2652 2010-06-05 David King <davidk@openismus.com>
2654 Small website updates
2656 * docs/index.html: Remove broken namespace links.
2657 * docs/website/doc.shtml: Link to library.gnome.org tutorial and API
2660 2010-06-04 Murray Cumming <murrayc@murrayc.com>
2664 2010-06-04 Murray Cumming <murrayc@murrayc.com>
2666 Manual: Add an id=index attribute in case that helps library.gnome.org.
2668 * docs/manual/libsigc_manual.xml: Add it to the <book> tag.
2670 2010-05-04 Murray Cumming <murrayc@murrayc.com>
2674 2010-05-04 Murray Cumming <murrayc@murrayc.com>
2676 Documentation improvements.
2678 * docs/manual/libsigc_manual.xml: Remove Marshallers section because
2679 it is apparently outdated and there is no example code to test it.
2680 This fixes bug #417924 (Michael Ekstrand)
2681 Also changed LibSigC++ to libsigc++ for consistency.
2682 * sigc++/sigc++.h: Main page text: Rearranged slightly.
2684 2010-04-27 David King <davidk@openismus.com>
2686 Improvements to main page documentation
2688 * sigc++/sigc++.h: Minor improvements.
2690 2010-04-23 David King <davidk@openismus.com>
2692 Add main page to Doxygen documentation
2694 * docs/Makefile.am: Parse sigc++/sigc++.h for documentation.
2695 * sigc++/sigc++.h: Add main page to Doxygen documentation.
2697 2010-04-23 David King <davidk@openismus.com>
2699 Fix the functors Doxygen group in the m4 files
2701 * sigc++/functors/macros/functor_trait.h.m4:
2702 * sigc++/functors/macros/mem_fun.h.m4:
2703 * sigc++/functors/macros/ptr_fun.h.m4: Rename functors to
2706 2010-04-16 Murray Cumming <murrayc@murrayc.com>
2710 2010-04-16 Murray Cumming <murrayc@murrayc.com>
2712 Docs: Fix the functors group and the link from the overview.
2714 * docs/website/doc.shtml: Revert this to point to the overview page at
2715 docs/indeex.html, which I have manually uploaded to the website, until
2716 we add this overview to the doxygen-generated documentation itself.
2717 * sigc++/functors/slot_base.h:
2718 * sigc++/visit_each.h: Rename the functors doxygen group to sigcfunctors,
2719 because doxygen seems to confuse it with the one in libstdc++.
2720 * docs/index.html: Update the links.
2722 2010-04-16 Murray Cumming <murrayc@murrayc.com>
2724 Website: Fix the Makefile so upload works with sourceforge again.
2726 2010-04-06 Murray Cumming <murrayc@murrayc.com>
2728 Website: Update the reference API link.
2730 * docs/website/doc.shtml: Update the reference API link to use
2731 library.gnome.org. We should make sure that the tutorial docbook is there
2733 * docs/website/devel.shtml: Remove CVS-specific instructions, quickly
2734 mentioning the git module instead.
2735 However, the Makefile must be updated to cope with sourceforge's changes.
2736 I was not able to upload this yet.
2738 2010-03-29 Murray Cumming <murrayc@murrayc.com>
2742 2010-01-06 Daniel Elstner <daniel.kitta@gmail.com>
2744 Use non-blurry font for dot graph labels
2746 * docs/reference/Doxyfile.in (SHOW_INCLUDE_FILES): Enable.
2747 (SHOW_USED_FILES): Disable.
2748 (DOT_FONTNAME): Change from FreeSans to Sans, as the hinting for the
2749 former appears to be rather bad.
2750 (TEMPLATE_RELATIONS): Disable to reduce noise.
2752 2009-12-29 Murray Cumming <murrayc@murrayc.com>
2754 Accumulators: Allow return types that are different to the signal's.
2756 * sigc++/macros/signal.h.m4: signal_emit*: Correct the slot_iterator_buf_type
2757 and slot_reverse_iterator_buf_type typedefs to allow accumulators with
2758 return types that are different to the signal's return type.
2759 * tests/Makefile.am: Reenable test_accumulated, so we can test the fix.
2760 It should be manually disabled if building on AIX (if the AIX problem cannot
2762 * tests/test_accumulated.cc: Add an accumulator with a return type that is
2763 different to the signal's return type. In this case it's a vector listing
2767 2009-12-27 Daniel Elstner <daniel.kitta@gmail.com>
2769 Disable collaboration graphs in documentation
2771 * docs/reference/Doxyfile.in (CLASS_DIAGRAMS): Enable. Contrary to
2772 what the Doxygen documentation says, no dot class inheritance graphs
2773 will be generated if both CLASS_DIAGRAMS and COLLABORATION_GRAPH are
2775 (COLLABORATION_GRAPH), (GROUP_GRAPHS): Turn off additional graphs to
2778 2009-10-26 Armin Burgmeier <armin@arbur.net>
2782 2009-10-26 Armin Burgmeier <armin@arbur.net>
2784 * sigc++config.h: Move the first five definitions to the !SIGC_MSC
2785 ifdef block, so MSVC does not see them and only uses the definitions
2786 from the SIGC_MSC block. This fixes the build with MSVC.
2788 2009-09-19 Daniel Elstner <daniel.kitta@gmail.com>
2790 Support Automake silent rules
2792 * configure.ac: Call the AM_SILENT_RULES macro if it is defined.
2793 * docs/doc-manual.am, sigc++/Makefile.am: Prefix the commands of
2794 custom rules with $(AM_V_GEN) or $(AM_V_at) in order to support
2795 the silent rules feature of Automake.
2797 2009-09-18 Michael Hasselmann <michaelh@openismus.com>
2799 Documentation cleanup: sigc::hide() always only hides one signal argument
2801 * sigc++/adaptors/macros/hide.h.m4: The documentation stated that sigc::hide()
2802 could discard multiple signal arguments when in fact the whole API only allows
2803 control over one (dummy) signal argument at a time. The "multiple argument
2804 hiding" example lives in it own section now to make it clearer you have to nest
2805 sigc::hide() for that.
2807 2009-09-13 Daniel Elstner <daniel.kitta@gmail.com>
2809 Enable verbose output of autoreconf
2811 * autogen.sh: Pass --verbose option to autoreconf.
2813 2009-09-07 Daniel Elstner <danielk@openismus.com>
2815 Delete obsolete MAINTAINERS file
2817 2009-09-02 Daniel Elstner <danielk@openismus.com>
2819 Bump version to 2.2.4.2 and update NEWS
2821 * configure.ac (AC_INIT): Increment version number to 2.2.4.2.
2822 (MM_PREREQ): Require mm-common 0.7.2.
2823 * NEWS: Write news entry for libsigc++ 2.2.4.2.
2825 2009-09-02 Daniel Elstner <danielk@openismus.com>
2827 Document namespace sigc briefly
2829 * sigc++/signal_base.h (sigc): Prepend documentation comment to
2830 provide a brief description of namespace sigc, so that Doxygen
2831 will recognize the namespace as documented.
2833 2009-08-31 Daniel Elstner <danielk@openismus.com>
2835 Update Doxygen configuration for Doxygen 1.6.1
2837 * docs/reference/Doxyfile.in: Update configuration template using
2839 (SORT_MEMBERS_CTORS_1ST): Enable.
2841 2009-08-31 Daniel Elstner <danielk@openismus.com>
2843 Protect space after comma in M4 output
2845 * sigc++/macros/template.macros.m4 (_LOOP_SEP): Triple-quote the
2846 list separator in this hairy construct, since the macro definition
2847 itself is not quoted at all and the space after the comma got lost
2848 in the output. This, in turn, produced overlong lines in the HTML
2849 reference documentation.
2851 2009-08-28 Daniel Elstner <danielk@openismus.com>
2853 Update news entry for libsigc++ 2.2.4.1 release
2855 * NEWS: Update top entry for release 2.2.4.1 of libsigc++.
2856 (2.2.4): Correct spelling of Frédéric Péters' name.
2858 2009-08-27 Daniel Elstner <danielk@openismus.com>
2860 Use shared mm-common Doxygen style sheet
2862 * configure.ac (MM_PREREQ): Require mm-common 0.7.
2863 * docs/Makefile.am (dist_noinst_DATA): List doxygen.css.
2864 * docs/reference/Doxyfile.in (HTML_STYLESHEET): Assign path
2865 to the shared doxygen.css provided by mm-common.
2867 2009-08-27 Daniel Elstner <danielk@openismus.com>
2869 Remove header and footer HTML fragments
2871 * docs/reference/libsigc_{header,footer}.html_fragment: Delete
2872 files. These custom fragments were an unnecessary maintenance
2873 hassle. Also, the files were out of date with respect to the
2874 encoding and CSS classes used by Doxygen.
2875 * docs/reference/Doxyfile.in (HTML_HEADER), (HTML_FOOTER): Set
2876 to the empty string.
2877 (PROJECT_NAME): Substitute @PACKAGE_NAME@.
2878 (PROJECT_NUMBER): Substitute @PACKAGE_VERSION@. It does look
2879 nicer in the generated HTML pages, and is probably also less
2881 (SORT_GROUP_NAMES): Enable for predictability.
2883 2009-08-27 Daniel Elstner <danielk@openismus.com>
2885 Change version of upcoming release to 2.2.4.1
2887 * configure.ac (AC_INIT): Adjust version number to 2.2.4.1.
2888 * NEWS: Correct version of top news entry to 2.2.4.1.
2890 2009-08-26 Daniel Elstner <danielk@openismus.com>
2892 Bump version to 2.2.5 and update NEWS
2894 * configure.ac (AC_INIT): Increment version number to 2.2.5.
2895 * NEWS: Write news entry for libsigc++ 2.2.5.
2897 2009-08-26 Daniel Elstner <danielk@openismus.com>
2899 Reenable hierarchy graphs for each class
2901 * docs/reference/Doxyfile.in (COLLABORATION_GRAPH): Set option
2902 to YES to enable the per-class inheritance graphs.
2904 2009-08-25 Daniel Elstner <danielk@openismus.com>
2906 Have Automake check NEWS and use bzip2
2908 * configure.ac (AM_INIT_AUTOMAKE): Add options check-news and
2911 2009-08-25 Daniel Elstner <danielk@openismus.com>
2913 Update NEWS for libsigc++ 2.2.4 release
2915 2009-08-25 Daniel Elstner <danielk@openismus.com>
2917 Bump version to 2.2.4 and require mm-common 0.6.1
2919 * configure.ac (AC_INIT): Increase version number to 2.2.4.
2920 (MM_PREREQ): Require mm-common 0.6.1 for the updated default
2921 location of the reference documentation.
2923 2009-08-25 Daniel Elstner <danielk@openismus.com>
2925 Change documentation host to library.gnome.org
2927 * README, docs/manual/libsigc_manual.xml: Adjust links to the
2928 reference documentation in the text.
2929 * docs/Makefile.am (pubdocbase), (htmlrefpub): Remove override
2930 and use the updated mm-common default values.
2931 * sigc++{,-uninstalled}.pc.in (htmlrefpub): Adjust link.
2933 2009-08-24 Daniel Elstner <danielk@openismus.com>
2935 Add id="content" element to documentation index
2937 * docs/reference/libsigc_header.html_fragment: Start <div> element
2938 with attribute id="content" to match the other C++ binding modules.
2939 * docs/reference/libsigc_footer.html_fragment: Close <div> element.
2941 2009-08-20 Daniel Elstner <danielk@openismus.com>
2943 Use new version component substitutions
2945 * MSVC_Net200[58]/sigc.rc.in: Replace the no longer defined
2946 @FP_*_VERSION@ substitutions by the new @SIGCXX_*_VERSION@
2947 substitutions for the version number components. These are
2948 defined by MM_INIT_MODULE() from mm-common.
2950 2009-08-20 Daniel Elstner <danielk@openismus.com>
2952 Substitute API version in filenames dynamically
2954 * sigc++.pc.in: Rename file from sigc++-2.0.pc.in.
2955 * sigc++-uninstalled.pc.in: Rename file from
2956 sigc++-2.0-uninstalled.pc.in.
2957 * MSVC_Net200[58]/sigc.rc.in: Rename files from sigc-2.0.rc.in
2958 and use @SIGCXX_API_VERSION@ substitution for the API version.
2959 Also replace @VERSION@ with @PACKAGE_VERSION@.
2960 * MSVC_Net200[58]/libsigc++2.{sln,vcproj}: Remove version from
2961 the project name and filenames.
2962 * MSVC_Net200[58]/filelist.am: Remove version from filenames.
2963 * configure.ac (AC_CONFIG_FILES): Insert ${SIGCXX_MODULE_NAME}
2964 into output filenames and remove the version from the input
2966 * Makefile.am: Use $(SIGCXX_MODULE_NAME) in pkg-config file
2967 names instead of hard-coding the API version.
2968 * sigc++/Makefile.am (lib_LTLIBRARIES): Instead of hard-coding
2969 the libtool archive name, substitute @SIGCXX_API_VERSION@ into
2970 it, as well as into the derived variable names.
2972 2009-08-17 Daniel Elstner <danielk@openismus.com>
2974 Set libtool version information
2976 * sigc++/Makefile.am (libsigc_2_0_la_LDFLAGS): Add libtool option
2977 -version-info 0:0:0 to specify the version information explicitly.
2979 2009-08-16 Daniel Elstner <daniel.kitta@gmail.com>
2981 Remove unused parameter names for correctness
2983 * tests/test_copy_invalid_slot.cc, tests/test_custom.cc,
2984 tests/test_deduce_result_type.cc, tests/test_functor_trait.cc,
2985 tests/test_limit_reference.cc: Remove the names of unused function
2986 parameters from the prototype, in order to get libsigc++ to build
2987 with fatal compiler warnings.
2989 2009-08-16 Daniel Elstner <daniel.kitta@gmail.com>
2991 Rename scripts/ to build/ for consistency
2993 * build/: Rename directory from scripts/ for consistency with most
2994 of the other modules that switched to the new build infrastructure.
2995 * Makefile.am (ACLOCAL_AMFLAGS): Adjust M4 include directory.
2996 * README: Adjust a reference to scripts/ in the text.
2997 * configure.ac (AC_CONFIG_AUX_DIR): Copy auxiliary files to build/.
2998 (AC_CONFIG_MACRO_DIR): Place Autoconf M4 files into build/.
2999 * docs/Makefile.am: Include $(top_srcdir)/build/doc-reference.am.
3001 2009-08-16 Daniel Elstner <danielk@openismus.com>
3003 Copy log entry into legacy ChangeLog file
3005 2009-08-16 Daniel Elstner <danielk@openismus.com>
3007 Update for latest mm-common 0.4
3009 * configure.ac (MM_PREREQ): Require mm-common 0.4.
3010 (MM_INIT_MODULE): Omit now optional version number argument.
3011 (MM_CONFIG_DOCTOOL_DIR): Copy the documentation utilities into docs/
3012 instead of scripts/.
3013 * Makefile.am (dist_noinst_DATA): Remove documentation utilities.
3014 * sigc++-2.0.pc.in (htmlrefpub): Append trailing slash.
3015 * sigc++-2.0-uninstalled.pc.in (htmlrefpub): ditto,
3016 * docs/Makefile.am (htmlrefpub): ditto.
3017 (doc_input): Perform a VPATH search for each input file, to correctly
3018 handle the case of rebuilding the documentation of a tarball release
3019 which includes the generated sources.
3020 (dist_noinst_DATA): List documentation utilities.
3022 2009-08-11 Daniel Elstner <danielk@openismus.com>
3024 Do not recurse into MSVC subdirectories
3026 * MSVC_Net200[58]/filelist.am: New Automake include files, defining
3027 the lists of files to ship from the MSVC project directories.
3028 * MSVC_Net200[58]/Makefile.am: Delete recursive Makefile.am files.
3029 * Makefile.am: Include MSVC_Net200[58]/filelist.am.
3030 (dist_noinst_DATA): Distribute MSVC project files.
3031 (SUBDIRS): Do not recurse into the MSVC_Net200[58] subdirectories.
3032 * configure.ac (AC_CONFIG_FILES): Remove the output files
3033 MSVC_Net200[58]/Makefile.am from the list.
3034 (AC_CONFIG_COMMANDS): Copy sigc++config.h into the MSVC project
3035 directories at the end of config.status.
3037 2009-08-11 Daniel Elstner <danielk@openismus.com>
3039 Remove now superfluous doctool overrides
3041 * docs/Makefile.am: Remove overrides for the documentation
3042 utilities, since MM_CONFIG_DOCTOOL_DIR() already takes care
3043 of setting MMDOCTOOLDIR to the local directory.
3044 * sigc++-2.0.pc.in (datadir): Substitute value, just in case.
3046 2009-08-10 Daniel Elstner <danielk@openismus.com>
3048 List mm-common files in scripts/.gitignore
3050 2009-08-10 Daniel Elstner <danielk@openismus.com>
3052 Have mm-common-prepare install the doc utils
3054 * configure.ac: Call MM_CONFIG_DOCTOOL_DIR([scripts]) to set
3055 up the destination directory for mm-common-prepare to copy
3056 the documentation utilities to.
3057 * scripts/doc-install.pl: Delete file.
3058 * scripts/doc-postprocess.pl: ditto,
3059 * scripts/tagfile-to-devhelp2.xsl: ditto.
3061 2009-08-09 Daniel Elstner <danielk@openismus.com>
3063 Refresh doc-install and doc-postprocess copies
3065 * scripts/doc-install.pl, scripts/doc-postprocess.pl: Copy
3066 latest versions from the mm-common module.
3067 * docs/Makefile.am (doc_install), (doc_postprocess): Include
3068 $(PERL) interpreter command in front of the script name.
3070 2009-08-08 Daniel Elstner <danielk@openismus.com>
3072 Disable extraction of undocumented identifiers
3074 * docs/reference/Doxyfile.in (EXTRACT_ALL): Change setting to
3075 NO, and adapt a number of related options accordingly. The
3076 result is a net loss of about 300 generated .html files. The
3077 roughly 450 files which remain now are still an insanely high
3079 (PREDEFINED): Predefine the Autoconf configuration defines to
3080 nudge Doxygen towards documenting the canonical code paths.
3082 2009-08-07 Daniel Elstner <danielk@openismus.com>
3084 Use #error explicitly instead of broken code
3086 * sigc++config.h.in: Do use the #error preprocessor directive,
3087 instead of an errornous piece of code. This code does not need
3088 the same level of obfuscation as an Autoconf feature test.
3090 2009-08-07 Daniel Elstner <danielk@openismus.com>
3092 Change bug report URL to point to Bugzilla
3094 * configure.ac (AC_INIT): Change the bug-report argument to the
3095 URL for filing a new libsigc++ bug on bugzilla.gnome.org. Also
3096 name the website URL as fifth argument. It will simply be ignored
3097 if the installed Autoconf does not support this new feature.
3099 2009-08-07 Daniel Elstner <danielk@openismus.com>
3101 Do not enable -pedantic mode by default
3103 * configure.ac (MM_ARG_ENABLE_WARNINGS): Remove -pedantic from the
3104 list of compiler flags to use at warning level "min" (the default).
3106 2009-08-07 Daniel Elstner <danielk@openismus.com>
3108 Correct M4 forbidden tokens pattern
3110 * configure.ac (m4_pattern_forbid): Take into account that the
3111 pattern is applied to tokens, not lines. Also catch unexpanded
3112 calls to underscore-prefixed private macros.
3114 2009-08-06 Daniel Elstner <danielk@openismus.com>
3116 Transition to new mm-common build infrastructure
3118 * autogen.sh: Replace with a minimal script that simply executes
3119 mm-common-prepare, autoreconf and configure.
3120 * configure.ac: Get rid of an enormous amount of old cruft. Use
3121 macros from the new mm-common module to set up Doxygen for building
3122 the documentation. Add option to enable more compiler warnings.
3123 * sigc++-2.0-uninstalled.pc.in: New pkg-config data file to allow
3124 linking to an uninstalled libsigc++.
3125 * sigc++-2.0.pc.in: Modernize. Provide the location of the
3126 installed reference documentation and the Doxygen tag file.
3127 * sigc++config.h.in: Modernize and update for new build
3129 * Makefile.am, */Makefile.am: Modernize and adapt to the new C++
3130 binding build infrastructure in the mm-common module.
3131 * sigc++/filelist.am: New Automake include file. Defines lists
3132 of C++ and M4 source files.
3133 * docs/Makefile.am: Rewrite using doc-reference.am from the
3135 * docs/doc-manual.am: New Automake include file for building the
3136 libsigc++ Docbook manual.
3137 * docs/images/Makefile.am: Remove file.
3138 * docs/manual/Makefile.am: ditto,
3139 * docs/reference/Makefile.am: ditto.
3140 * docs/Makefile_web.am_fragment: Remove for now, to be taken care
3142 * docs/reference/Doxyfile.in: Modernize and adapt to new build
3144 * docs/reference/beautify_docs.pl: Remove and use the more recent
3145 scripts/doc-postprocess.pl instead.
3146 * libsigc++-2.0.spec.in: Remove, to be resurrected only if someone
3148 * scripts/Makefile.am: Remove file. Distribute the files from the
3149 toplevel Makefile.am instead.
3150 * scripts/cxx_std.m4: Add missing third argument to AC_DEFINE().
3151 * scripts/doc-install.pl: New file, copied from mm-common.
3152 * scripts/doc-postprocess.pl: ditto,
3153 * scripts/tagfile-to-devhelp2.xsl: ditto.
3155 2009-06-24 Daniel Elstner <danielk@openismus.com>
3157 Add Description of a Project (DOAP) file
3159 2008-11-13 Murray Cumming <murrayc@murrayc.com>
3161 Correct the download link so it shows all versions, not just 2.0.
3163 2008-11-13 Murray Cumming <murrayc@murrayc.com>
3165 * docs/website/stable.shtml: Correct the download link so it shows all
3166 versions, not just 2.0.
3168 svn path=/trunk/; revision=302
3170 2008-10-15 Murray Cumming <murrayc@src.gnome.org>
3174 svn path=/trunk/; revision=301
3176 2008-10-08 Armin Burgmeier <armin@arbur.net>
3178 Changed output name to match the new naming convention.
3180 2008-10-08 Armin Burgmeier <armin@arbur.net>
3182 * MSVN_Net2005/libsigc++2.vcproj: Changed output name to match the new
3185 * MSVC_Net2008/: Added MSVC 2008 project files. These are basically
3186 the same as for MSVC 2005, but converted to MSVC 2008 projects.
3189 * Makefile.am: Added the new files to the build.
3191 svn path=/trunk/; revision=300
3193 2008-08-08 Armin Burgmeier <armin@arbur.net>
3195 Enable the disconnect_during_emit test by default.
3197 2008-08-08 Armin Burgmeier <armin@arbur.net>
3199 * MSVC_Net2005/libsigc++2.sln: Enable the disconnect_during_emit test
3202 * MSVC_Net2005/libsigc++2.vcproj: Renamed the generated debug database
3203 file to sigc-2.0d.pdb (the default), to stay consistent with the *mm
3206 svn path=/trunk/; revision=299
3208 2008-08-08 Armin Burgmeier <armin@arbur.net>
3210 Moved from MSVC_Net2003.
3212 2008-08-08 Armin Burgmeier <armin@arbur.net>
3214 * MSVC_Net2005/: Moved from MSVC_Net2003.
3216 * MSVC_Net2005/libsigc++2.sln:
3217 * MSVC_Net2005/libsigc++2.vcproj:
3218 * MSVC_Net2005/tests/*/*.vcproj: Converted the Visual Studio 2003
3219 project files to 2005 ones.
3221 * MSVC_Net2005/Makefile.am:
3223 * configure.ac: Adapted build files accordingly.
3225 svn path=/trunk/; revision=298
3227 2008-04-06 Cedric Gustin <cedric.gustin@gmail.com>
3229 Removed ATL/MFC header files dependency as afxres.h is not part of the
3231 2008-04-06 Cedric Gustin <cedric.gustin@gmail.com>
3233 * MSVC_Net2003/sigc-2.0.rc.in: Removed ATL/MFC header files
3234 dependency as afxres.h is not part of the Microsoft Platform
3235 SDK provided with Visual C++ Express 2008.
3238 svn path=/trunk/; revision=297
3240 2008-03-10 Murray Cumming <murrayc@src.gnome.org>
3244 svn path=/trunk/; revision=296
3246 2008-02-28 Murray Cumming <murrayc@src.gnome.org>
3250 svn path=/trunk/; revision=295
3252 2008-02-28 Elaine Xiong <elaine.xiong@sun.com>
3254 Add ifdefs around uses of reverse_iterator to really fix the build with
3256 2008-02-28 Elaine Xiong <elaine.xiong@sun.com>
3258 * sigc++/macros/signal.h.m4:
3259 * tests/test_accum_iter.cc: Add ifdefs around uses of
3260 reverse_iterator to really fix the build with recent
3264 svn path=/trunk/; revision=294
3266 2008-02-22 Murray Cumming <murrayc@src.gnome.org>
3270 svn path=/trunk/; revision=293
3272 2008-01-01 Ryan Hill <dirtyepic@gentoo>
3274 Include the cstdlib and cstring headers to fix the build with the gcc 4.3
3276 2008-01-01 Ryan Hill <dirtyepic@gentoo.>
3278 * tests/test_copy_invalid_slot.cc: Include the cstdlib
3279 and cstring headers to fix the build with the gcc 4.3
3280 pre-release. Bug #454882.
3282 svn path=/trunk/; revision=292
3284 2007-12-09 Murray Cumming <murrayc@murrayc.com>
3286 Added some includes to fix the build in some environments, such as when
3288 2007-08-31 Murray Cumming <murrayc@murrayc.com>
3290 * tests/test_copy_invalid_slot.cc: Added some includes to
3291 fix the build in some environments, such as when using Sun CC.
3292 Thanks to Vladimir Marek in bug #469872.
3294 svn path=/trunk/; revision=291
3296 2007-09-10 Murray Cumming <murrayc@src.gnome.org>
3298 Mark version in ChangeLog
3300 svn path=/trunk/; revision=290
3302 2007-09-10 Murray Cumming <murrayc@src.gnome.org>
3304 Added MAINTAINERS file
3306 svn path=/trunk/; revision=288
3308 2007-08-14 Murray Cumming <murrayc@src.gnome.org>
3312 svn path=/trunk/; revision=286
3314 2007-08-14 Murray Cumming <murrayc@murrayc.com>
3316 Removed this header.
3318 2007-08-14 Murray Cumming <murrayc@murrayc.com>
3320 * sigc++/Makefile.am:
3321 * sigc++/compatibility.h: Removed this header.
3323 * sigc++/bind_return.h:
3324 * sigc++/connection.h:
3325 * sigc++/macros/class_slot.h.m4:
3326 * sigc++/macros/hide.h.m4:
3327 * sigc++/macros/method_slot.h.m4:
3328 * sigc++/macros/object_slot.h.m4:
3329 * sigc++/macros/retype.h.m4:
3330 * sigc++/macros/signal.h.m4:
3331 * sigc++/macros/slot.h.m4:
3333 * sigc++/retype_return.h: Removed deprecated
3334 compatibility API, to probably fix the build with
3335 some compilers, such as some versions of the Sun Forte C++
3336 CC compiler. This API has been deprecated April 2004, and
3337 is not widely used, so it seems safe to do this now.
3339 * tests/Makefile.am:
3340 * tests/test_compatibility.cc: Removed this test.
3342 svn path=/trunk/; revision=285
3344 2007-07-28 Michael Elkstrand <michael@elehack.net>
3346 slot_iterator_buf, slot_reverse_iterator_buf: Added typedefs for
3348 2007-07-28 Michael Elkstrand <michael@elehack.net>
3350 * sigc++/macros/signal.h.m4: slot_iterator_buf,
3351 slot_reverse_iterator_buf: Added typedefs for
3352 value_type, reference, and pointer, so that these
3353 iterators are more like standard C++ iterators, so they can
3354 be used with standard C++ algorithms.
3355 * tests/Makefile.am:
3356 * tests/test_accum_iter.cc: Added a test for this.
3359 svn path=/trunk/; revision=284
3361 2006-11-14 Daniel Elstner <daniel@src.gnome.org>
3363 Wholly replace this script with a critter from one of my personal
3365 * autogen.sh: Wholly replace this script with a critter from one
3366 of my personal projects, with slight modifications. This one does
3367 some sophisticated stuff like probing version numbers of available
3368 automake and aclocal executables, in order to choose the right one
3369 accordingly. All this is necessary to make the build system work
3370 robustly in custom environments such as Maemo where automake-1.9
3371 doesn't come preinstalled.
3373 2006-06-20 Murray Cumming <murrayc@murrayc.com>
3375 Revert the previous changes, because none is used in the exported symbol
3377 2006-06-20 Murray Cumming <murrayc@murrayc.com>
3379 * sigc++/adaptors/macros/bind.h.m4:
3380 * sigc++/adaptors/macros/retype.h.m4:
3381 * sigc++/functors/macros/functor_trait.h.m4:
3382 * sigc++/functors/macros/slot.h.m4:
3383 * sigc++/macros/retype.h.m4:
3384 * sigc++/macros/signal.h.m4: Revert the previous changes, because none is
3385 used in the exported symbol names from gtkmm, so this would break the ABI
3388 2006-06-06 Régis Duchesne <hpreg@vmware.com>
3390 Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile the
3392 2006-05-26 Régis Duchesne <hpreg@vmware.com>
3394 * sigc++/adaptors/macros/bind.h.m4:
3395 * sigc++/adaptors/macros/retype.h.m4:
3396 * sigc++/functors/macros/functor_trait.h.m4:
3397 * sigc++/functors/macros/slot.h.m4:
3398 * sigc++/macros/retype.h.m4:
3399 * sigc++/macros/signal.h.m4:
3400 Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile
3401 the library header files.
3403 2005-12-21 Murray Cumming <murrayc@murrayc.com>
3405 Make remaining reverse_iterator_buf operator--() methods return by
3407 2005-12-21 Murray Cumming <murrayc@murrayc.com>
3409 * sigc++/macros/signal.h.m4: Make remaining
3410 reverse_iterator_buf operator--() methods
3411 return by reference, like the operator++() methods.
3412 Bug #304402 from John Profic.
3414 2005-12-20 Murray Cumming <murrayc@murrayc.com>
3416 Make all operator--() methods return by reference, like the operator++()
3418 2005-12-20 Murray Cumming <murrayc@murrayc.com>
3420 * sigc++/macros/signal.h.m4: Make all operator--() methods
3421 return by reference, like the operator++() methods.
3422 Bug #304402 from John Profic.
3424 2005-12-14 John Profic <profic@kursknet.ru>
3426 Fix compilation problem in the last patch.
3428 2005-12-14 John Profic <profic@kursknet.ru>
3430 * sigc++/macros/signal.h.m4: Fix compilation problem in
3433 2005-12-14 John Profic <profic@kursknet.ru>
3435 Added emit_reverse().
3437 2005-12-14 John Profic <profic@kursknet.ru>
3439 * sigc++/macros/signal.h.m4: Added emit_reverse().
3441 2005-12-14 Murray Cumming <murrayc@src.gnome.org>
3443 mark branch in ChangeLog
3445 2005-12-01 Murray Cumming <murrayc@murrayc.com>
3447 slot_base::disconnect(): Set call_ to 0, to invalidate the slot, even if
3449 2005-12-01 Murray Cumming <murrayc@murrayc.com>
3451 * sigc++/functors/slot_base.cc:
3452 slot_base::disconnect(): Set call_ to 0,
3453 to invalidate the slot, even if parent_ is 0.
3454 I think parent_ is, for instance, a signal, but
3455 disconnect should still work on a slot that is not
3456 connected to a signal, because a slot can be invoked
3458 Fixes bug #311057 from James Lin.
3460 2005-12-01 Murray Cumming <murrayc@murrayc.com>
3462 Added test case from bug #311057.
3464 2005-12-01 Murray Cumming <murrayc@murrayc.com>
3466 * tests/Makefile.am:
3467 * tests/test_slot_disconnect.cc: Added test
3468 case from bug #311057.
3470 2005-11-16 Philipp Berndt <philipp.berndt@gmx.net>
3472 Make member exception_catch_functor<T_functor, T_catcher, void>::catcher_
3474 2005-11-16 Philipp Berndt <philipp.berndt@gmx.net>
3476 * sigc++/adaptors/macros/exception_catch.h.m4: Make member
3477 exception_catch_functor<T_functor, T_catcher, void>::catcher_
3478 public so that it can be accessed by visit_each()
3479 (bug fixed for generalization on 2004-11-06)
3482 2005-08-17 Murray Cumming <murrayc@src.gnome.org>
3484 Increased version. Forgot to commit this a few days ago.
3486 2005-08-01 Neal E. Coombes <nealc@trdlnk.com>
3488 Updated the documentation for temp_slot_list as requested in bug #303896.
3490 2005-08-01 Neal E. Coombes <nealc@trdlnk.com>
3492 * sigc++/signal_base.h: Updated the documentation for temp_slot_list
3493 as requested in bug #303896.
3495 2005-08-01 Murray Cumming <murrayc@murrayc.com>
3497 Added missing ) in call to sun_forte_workaround(), fixing build on SUN
3499 2005-07-13 Murray Cumming <murrayc@murrayc.com>
3501 * sigc++/adaptors/hide.h.m4: Added missing
3502 ) in call to sun_forte_workaround(), fixing
3503 build on SUN Forte 5.5. Bug #312020.
3505 2005-08-01 Bruno Martinez <brunom@fing.edu.uy>
3507 Renamed ::sigc::is_base_and_derived::internal to
3509 2005-08-19 Bruno Martinez <brunom@fing.edu.uy>
3511 * sigc++/type_traits.h: Renamed
3512 ::sigc::is_base_and_derived::internal to
3513 ::sigc::is_base_and_derived::internal_class
3514 in order to avoid conflict with
3517 2005-07-13 Murray Cumming <murrayc@src.gnome.org>
3521 2005-07-13 Murray Cumming <murrayc@murrayc.com>
3523 Correct mentions of 1.2 stuff instead of 2.0. Patch in bug #310213 from
3525 2005-07-13 Murray Cumming <murrayc@murrayc.com>
3527 * docs/manual/libsigc_manual.xml: Correct mentions of
3528 1.2 stuff instead of 2.0. Patch in bug #310213 from
3531 2005-07-13 Murray Cumming <murrayc@murrayc.com>
3533 Fixed typo found by Antonio Coralles.
3535 2005-07-13 Murray Cumming <murrayc@murrayc.com>
3537 * docs/manual/libsigc_manual.xml: Fixed typo
3538 found by Antonio Coralles.
3540 2005-07-09 Murray Cumming <murrayc@murrayc.com>
3542 Did the same (see last commit) for slot_const_iterator and
3544 2005-07-09 Murray Cumming <murrayc@murrayc.com>
3546 * sigc++/macros/signal.h.m4: Did the same (see
3547 last commit) for slot_const_iterator and
3550 2005-07-09 Murray Cumming <murrayc@murrayc.com>
3552 slot_iterator: operator--() now returns value, not reference, like
3554 2005-07-09 Murray Cumming <murrayc@murrayc.com>
3556 * sigc++/macros/signal.h.m4: slot_iterator:
3557 operator--() now returns value, not reference, like
3558 operator++() already did. This caused crashes when
3559 using --no-inline with g++. Bug #308651 by
3562 2005-07-04 Murray Cumming <murrayc@src.gnome.org>
3566 2005-07-04 Philip Langdale <plangdale@vmware.com>
3568 Add a setter typedef to compose*_functor and use it instead of the
3570 2005-07-04 Philip Langdale <plangdale@vmware.com>
3572 * sigc++/adaptors/macros/compose.h.m4: Add a setter typedef to
3573 compose*_functor and use it instead of the (incorrect) getter
3574 typedef in the compose* specialization of visit_each<>().
3575 This corrects the lifetime management of slots created with
3576 compose(). Bug #308433.
3578 2005-06-13 Marek Rouchal <marek.rouchal@infineon.com>
3580 Specify int return type for main(), to be more ISO C++ compliant. Bug
3582 2005-06-13 Marek Rouchal <marek.rouchal@infineon.com>
3584 * tests/test_deduce_result_type.cc: Specify int return type
3585 for main(), to be more ISO C++ compliant. Bug #307478.
3587 2005-06-13 Andris Pavenis <pavenis@latnet.lv>
3589 sigc++/adaptors/lambda/macros/select.h.m4 Specify only a type (not a
3591 2005-06-11 Andris Pavenis <pavenis@latnet.lv>
3593 * sigc++/adaptors/lambda/macros/base.h.m4:
3594 * sigc++/adaptors/lambda/macros/select.h.m4
3595 * sigc++/adaptors/macros/hide.h.m4: Specify only a type (not a
3596 parameter name) for unused member function parameters
3598 2005-06-12 Paul Pogonyshev <pogonyshev@gmx.net>
3600 Add test for whether the compiler allows referencing to member functions
3602 2005-06-12 Paul Pogonyshev <pogonyshev@gmx.net>
3606 * sigc++config.h.in: Add test for whether the compiler allows
3607 referencing to member functions of the class/structure being
3608 declared from a definition of a static member variable.
3609 Supposedly a generic solution for GCC 3.2 compilation problems.
3611 * sigc++/type_traits.h: Define SIGC_WRAP_IS_BASE_CLASS_ based on
3612 results of the above test.
3613 (struct is_base_and_derived): Wrap up is_base_class_() functions
3614 in an internal class if SIGC_WRAP_IS_BASE_CLASS_ is defined.
3616 2005-06-10 Murray Cumming <murrayc@murrayc.com>
3618 Use CALL_SIZE instead of hard-coded 7s and 6s.
3620 2005-06-10 Murray Cumming <murrayc@murrayc.com>
3622 * sigc++/adaptors/macros/bind.h.m4:
3623 * sigc++/functors/macros/slot.h.m4:
3624 * sigc++/macros/signal.h.m4: Use CALL_SIZE instead of
3625 hard-coded 7s and 6s.
3627 2005-06-10 Murray Cumming <murrayc@src.gnome.org>
3631 2005-06-10 Murray Cumming <murrayc@murrayc.com>
3633 Make the limit_derived_target::with_type inner class an outer class, to
3635 2005-06-10 Murray Cumming <murrayc@murrayc.com>
3637 * sigc++/visit_each.h: Make the
3638 limit_derived_target::with_type inner class an outer class,
3639 to satisfy the SUN CC 5.7 compiler, though I think it is a
3640 compiler bug. Bug #302098 has the test case.
3642 2005-06-10 Murray Cumming <murrayc@murrayc.com>
3644 Make the limit_derived_target::with_type inner class an outer class, to
3646 2005-06-10 Murray Cumming <murrayc@murrayc.com>
3648 * sigc++/visit_each.h: Make the
3649 limit_derived_target::with_type inner class an outer class,
3650 to satisfy the SUN CC 5.7 compiler, though I think it is a
3651 compiler bug. Bug #302098 has the test case.
3653 2005-06-09 Murray Cumming <murrayc@src.gnome.org>
3657 2005-06-07 Murray Cumming <murrayc@src.gnome.org>
3659 Removed missing call to missing macro from configure.in
3661 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3663 Specify the actual class when using test_int(), instead of the derived
3665 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3667 * tests/test_compatibility.cc: Specify the actual class when
3668 using test_int(), instead of the derived class, to fix the build
3669 on SUN Forte CC 5.5. Patch from Friedemann Kleint in
3672 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3674 signal_emit::emit(): Use scope to ensure a certain order of destruction of
3676 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3678 * sigc++/macros/signal.h.m4: signal_emit::emit(): Use scope to
3679 ensure a certain order of destruction of the member variables, to
3680 avoid a leak on MSVC++. Patch by Andreas Ames in Bug #306249.
3682 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3684 Added comments about commenting-out SIGC_TYPEDEF_REDEFINE_ALLOWED when
3686 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3688 * sigc++/macros/signal.h.m4: Added comments about commenting-out
3689 SIGC_TYPEDEF_REDEFINE_ALLOWED when using SUN Forte CC 5.7,
3690 because I can not seem to create a test for it.
3692 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3694 Added check for the non-standard SUN Forte reverse_iterator<>, and used
3696 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3699 * scripts/cxx_std.m4:
3700 * sigc++/macros/signal.h.m4:
3701 * sigc++config.h.in: Added check for
3702 the non-standard SUN Forte reverse_iterator<>,
3703 and used it. This is based on the same stuff in
3706 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3708 limit_derived_target(): Just some whitespace changes.
3710 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3712 * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
3715 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3717 limit_derived_target(): Just some whitespace changes.
3719 2005-06-07 Murray Cumming <murrayc@murrayc.com>
3721 * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
3724 2005-06-04 Neal E. Coombes <nealc@trdlnk.com>
3726 Modified temp_slot_list to be a temporary view into a slot list. Instead
3728 2005-05-16 Neal E. Coombes <nealc@trdlnk.com>
3730 * sigc++/signal_base.h: Modified temp_slot_list to be a temporary view
3731 into a slot list. Instead of emptying the original it now simply tacks
3732 a placeholder to the end of the original. It then uses this as it's
3733 'end' iterator. This should allow for conscious recursiveness, as well
3734 as inserting a slot to any position in the slot list during emittion.
3737 2005-06-04 Friedemann Kleint <kleint@bifab.de>
3739 visit_each() template specializations: Mention the bool
3741 2005-06-04 Friedemann Kleint <kleint@bifab.de>
3743 * sigc++/macros/limit_reference.h.m4:
3744 visit_each() template specializations:
3745 Mention the bool I_derives_trackable
3746 template type, to fix the build on Solaris
3749 2005-05-10 Murray Cumming <murrayc@src.gnome.org>
3753 2005-05-10 Murray Cumming <murrayc@src.gnome.org>
3755 Added missing include
3757 2005-05-10 Régis Duchesne <hpreg@vmware.com>
3759 New class that just stores a reference, and makes sure that if the
3761 2005-05-06 Régis Duchesne <hpreg@vmware.com>
3763 * sigc++/macros/limit_reference.h.m4 (added):
3764 * sigc++/Makefile.am:
3765 New class that just stores a reference, and makes sure that if the
3766 reference derives from trackable, then the trackable reference will be
3767 used instead of the derived reference in visit_each().
3768 * sigc++/functors/macros/mem_fun.h.m4: Better fix for bug #169225 by
3769 Régis Duchesne and Christian Hammond, based on the new limit_reference
3771 * sigc++/adaptors/bound_argument.h (added): New class (built upon the
3772 new limit_reference class) that handles all 3 kinds of bound arguments:
3773 by value, by reference, and by constant reference. References are
3774 unwrapped in the bound_argument's constructor.
3775 * sigc++/adaptors/macros/bind.h.m4: Fix for bug #302327 by Régis
3776 Duchesne. Bound arguments now need to know whether they are passed by
3777 reference or not. So bind() now builds bind_functor instances using
3778 'reference_wrapper<Foo>' types, instead of 'Foo &' types. The
3779 bind_functor code is modified to compensate.
3780 * sigc++/adaptors/macros/bind_return.h.m4: Similar fix for a similar
3781 bug (unfiled) with bound return arguments.
3782 * sigc++/reference_wrapper.h:
3783 * sigc++/type_traits.h:
3784 The reference_wrapper class is only used in bound_argument.h. Put
3785 correct but unused code under #if 0.
3786 * sigc++/adaptors/lambda/base.h: This file needs reference_wrapper.h,
3787 but was incorrectly relying on type_traits.h to include it.
3788 * tests/Makefile.am:
3789 * tests/test_virtualbase_delete.cc (deleted):
3790 * tests/test_virtualbase_delete_ref_param.cc (deleted):
3791 * tests/test_limit_reference.cc (added):
3792 Replaced test_virtualbase_delete*.cc with a simpler
3793 test_limit_reference.cc which checks for all 3 aspects of the same bug
3795 * tests/test_bind_ref.cc: Slots must use 'Foo &' types. We were lucky
3796 this broken usage worked before this change. The change in
3797 type_traits.h made this bug obvious, by preventing the code to compile.
3798 * tests/test_bind_return.cc: After my change, bind() and bind_return()
3799 must use 'reference_wrapper<Foo>' types.
3800 * tests/test_custom.cc: Made this test a no-op (so it does not perturb
3801 'make check' on released versions of the library) and made it a
3802 template ready to be modified by hackers.
3804 2005-05-04 Murray Cumming <murrayc@src.gnome.org>
3808 2005-05-01 Murray Cumming <murrayc@src.gnome.org>
3812 2005-05-01 Murray Cumming <murrayc@murrayc.com>
3814 slot_base::slot_base(src): If the source slot_base has a null rep->call_,
3816 2005-05-01 Murray Cumming <murrayc@murrayc.com>
3818 * sigc++/functors/slot_base.cc:
3819 slot_base::slot_base(src): If the source
3820 slot_base has a null rep->call_, meaning that the
3821 slot is invalid, just return a default-constructed
3822 slot, to prevent the crash shown in
3823 tests/tests_copy_invalid_slot.cc. Bug #302515 by
3826 2005-05-01 Murray Cumming <murrayc@src.gnome.org>
3830 2005-05-01 Murray Cumming <murrayc@murrayc.com>
3832 bound_*<>: Add a new is_base_and_derived<sigc::trackable> parameter to the
3834 2005-05-01 Murray Cumming <murrayc@murrayc.com>
3836 * sigc++/functors/macros/mem_fun.h.m4: bound_*<>:
3837 Add a new is_base_and_derived<sigc::trackable>
3838 parameter to the template and thereby provide a
3839 specialization for T_Obj types that derive from
3840 sigc::trackable. This prevents a crash when casting
3841 from the derived type to sigc::trackable after the
3842 derived destructor has run. This cast can sometimes
3843 fail when using multiple inheritance, at least with
3844 g++. Bug #169225 by Régis Duchesne and Christian
3846 * sigc++/type_traits.h: Add documenation for
3847 the internal is_base_and_derived<> template, which
3848 allows us to specialize other templates for certain
3851 2005-04-28 Murray Cumming <murrayc@murrayc.com>
3853 Added comments for users of g++ 3.2.
3855 2005-04-28 Murray Cumming <murrayc@murrayc.com>
3857 * sigc++/type_traits.h: Added comments for users of
3860 2005-04-28 Murray Cumming <murrayc@murrayc.com>
3862 Added simplified test case from bug #169225. We have a patch to make this
3864 2005-04-28 Murray Cumming <murrayc@murrayc.com>
3866 * tests/Makefile.am:
3867 * tests/test_virtualbase_delete.cc: Added
3868 simplified test case from bug #169225. We have a patch
3869 to make this succeed but I am not ready to commit it
3872 2005-04-27 Murray Cumming <murrayc@murrayc.com>
3874 Added a place to put extra test code, so I don't have to keep installing
3876 2005-04-27 Murray Cumming <murrayc@murrayc.com>
3878 * tests/Makefile.am:
3879 * tests/test_custom.cc:
3880 Added a place to put extra test code, so I don't have
3881 to keep installing my crazy libsigc++ versions.
3883 2005-04-27 Murray Cumming <murrayc@murrayc.com>
3885 Revert back to the non-explicit template call, because we can not specify
3887 2005-04-27 Murray Cumming <murrayc@murrayc.com>
3889 * sigc++/visit_each.h: Revert back to the non-explicit
3890 template call, because we can not specify the
3891 template specialization so easily, because the
3892 specializations have different numbers of types.
3893 * tests/Makefile/am:
3894 * tests/test_bind_ref.cc: Add a simple test only for
3895 sigc::ref disconnection.
3897 2005-04-26 Murray Cumming <murrayc@murrayc.com>
3899 Use the explicit template specialization, needed for Tru64 and AIX
3901 2005-04-26 Murray Cumming <murrayc@murrayc.com>
3903 * sigc++/visit_each.h: Use the explicit template
3904 specialization, needed for Tru64 and AIX compilers.
3905 This causes a crash in some uses of sigc::ref()
3906 (when using g++ 3.3.4 or 3.3.5 , but not with 3.4) but
3907 seems to fix a crash in some uses of multiple inheritance
3909 * tests/test_bind.cc: Comment out the crashing (not with
3910 g++ 3.4) use of sigc::ref() with an explanatory comment.
3912 2005-04-25 Murray Cumming <murrayc@src.gnome.org>
3916 2005-03-31 Murray Cumming <murrayc@src.gnome.org>
3920 2005-03-18 Murray Cumming <murrayc@murrayc.com>
3922 Updated the list of supported compilers.
3924 2005-03-18 Murray Cumming <murrayc@murrayc.com>
3926 * index.shtml: Updated the list of supported
3929 2005-03-18 Murray Cumming <murrayc@murrayc.com>
3931 Remove links to the sourceforge download page, because we do not use it.
3933 2005-03-18 Murray Cumming <murrayc@murrayc.com>
3935 * fragments/footer.html_fragment:
3936 * fragments/html_declaration.html_fragment:
3937 * link.shtml: Remove links to the sourceforge
3938 download page, because we do not use it.
3939 * notes.shtml: Removed this. It is not linked
3940 from anywhere anyway.
3942 2005-03-09 Cedric Gustin <cedric.gustin@swing.be>
3944 Fixed typo in today's date.
3946 2005-03-09 Cedric Gustin <cedric.gustin@swing.be>
3948 * ChangeLog: Fixed typo in today's date.
3950 2005-03-09 Cedric Gustin <cedric.gustin@swing.be>
3952 Moved MSVC_Net2003 directory to SUBDIRS. Added blank.cpp to EXTRA_DIST.
3954 2005-01-24 Cedric Gustin <cedric.gustin@swing.be>
3956 * Makefile.am: Moved MSVC_Net2003 directory to SUBDIRS.
3957 * MSVC_Net2003/Makefile.am: Added blank.cpp to EXTRA_DIST.
3958 * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Removed
3959 test_accumulated and test_lambda projects as the tests are
3960 disabled in the standard, configure-based build.
3961 * MSVC_Net2003/MSVC_Net2003/libsigc++2_msvcNet2003.vcproj:
3962 Generate a PDB file in the Debug target.
3964 2005-03-04 Murray Cumming <murrayc@murrayc.com>
3966 Mention actual supported compilers. Removed broken examples links. Change
3968 2005-03-05 Murray Cumming <murrayc@murrayc.com>
3970 * docs/website/stable.html: Mention actual supported compilers.
3971 * docs/website/docs.html: Removed broken examples links. Change
3972 reference link to the reference overview page.
3974 2005-02-23 Murray Cumming <murrayc@murrayc.com>
3976 Make slot_base::operator=() public, to fix the build with SUN Forte C++
3978 2005-02-23 Murray Cumming <murrayc@murrayc.com>
3980 * sigc++/functors/slot_base.h: Make slot_base::operator=() public, to
3981 fix the build with SUN Forte C++ 5.5 and Tru64.
3983 2005-02-22 Murray Cumming <murrayc@src.gnome.org>
3987 2005-02-20 Murray Cumming <murrayc@murrayc.com>
3989 #included <new> to avoid an unresolved symbol error with the Tru64
3991 2005-02-20 Murray Cumming <murrayc@murrayc.com>
3993 * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
3994 an unresolved symbol error with the Tru64 compiler. Solutio found by
3995 Tim Mooney in bug #161503.
3997 2005-02-20 Murray Cumming <murrayc@murrayc.com>
3999 #included <new> to avoid an unresolved symbol error with the Tru64
4001 2005-02-20 Murray Cumming <murrayc@murrayc.com>
4003 * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
4004 an unresolved symbol error with the Tru64 compiler. Solutio found by
4005 Tim Mooney in bug #161503.
4007 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
4009 Add some documentation.
4011 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
4013 * sigc++/signal_base.h: Add some documentation.
4015 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
4017 Reset deferred_ flag to false in signal_impl::sweep() (Neal E. Coombes).
4019 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
4021 * sigc++/signal_base.cc: Reset deferred_ flag to false in
4022 signal_impl::sweep() (Neal E. Coombes). Partly fixes bug
4025 2005-02-11 Martin Schulze <mschulze@cvs.gnome.org>
4027 Set the correct group in post-html.
4029 2005-02-11 Martin Schulze <mschulze@cvs.gnome.org>
4031 * docs/manual/Makefile.am: Set the correct group in post-html.
4033 2005-02-11 Murray Cumming <murrayc@murrayc.com>
4035 Fix typo in url for reference docs. Found by James Lin.
4037 2005-02-11 Murray Cumming <murrayc@murrayc.com>
4039 * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
4042 2005-02-11 Murray Cumming <murrayc@src.gnome.org>
4044 reverted stuff I did not mean to commit
4046 2005-02-11 Murray Cumming <murrayc@murrayc.com>
4048 Fix typo in url for reference docs. Found by James Lin.
4050 2005-02-11 Murray Cumming <murrayc@murrayc.com>
4052 * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
4055 2005-02-06 Murray Cumming <murrayc@murrayc.com>
4057 temp_slot_list::begin(), end(): Actually return the iterators.
4059 2005-02-06 Murray Cumming <murrayc@murrayc.com>
4061 * sigc++/signal_base.h: temp_slot_list::begin(), end(): Actually
4062 return the iterators.
4064 2005-02-04 Neal E. Coombes <nealc@trdlnk.com>
4066 Add temp_slot_list struct to facilitate allowing new connections to a
4068 2005-02-03 Neal E. Coombes <nealc@trdlnk.com>
4070 * sigc++/signal_base.h: Add temp_slot_list struct to facilitate
4071 allowing new connections to a signal during an emittion without
4072 affecting that emittion.
4073 * sigc++/macros/signal.h.m4: Use the new struct temp_slot_list
4075 prevent connections made during an emittion from being called in
4077 same emittion (which has the potential of causing things like
4078 infinite loops). This guarantees an emittion will be finite, as
4080 as maintaining any order of emittion guarantees that may have
4084 2005-02-02 Murray Cumming <murrayc@src.gnome.org>
4088 2005-02-02 Murray Cumming <murrayc@src.gnome.org>
4092 2005-02-02 Murray Cumming <murrayc@src.gnome.org>
4096 2005-02-01 Murray Cumming <murrayc@murrayc.com>
4098 Add sigc::var<>() documentation, from Roger Ferrer Ibáñez in bug
4100 2005-02-01 Murray Cumming <murrayc@murrayc.com>
4102 * sigc++/adapators/macros/base.h.m4: Add sigc::var<>() documentation,
4103 from Roger Ferrer Ibáñez in bug #149483.
4105 2005-02-01 Murray Cumming <murrayc@murrayc.com>
4107 In the template specializations of visit_each(): As before, specify the
4109 2005-02-01 Murray Cumming <murrayc@murrayc.com>
4111 * sigc++/adaptors/macros/compose.h.m4: In the template specializations
4112 of visit_each(): As before, specify the specific other template
4113 specializations of visit_each that we use. Needed by AIX.
4114 * tests/Makefile.am: Reenabled most tests, because AIX can now
4117 2005-02-01 Murray Cumming <murrayc@murrayc.com>
4119 [murrayc@localhost libsigc++2]$ more ChangeLog 2005-02-01 Murray Cumming <murrayc@murrayc.com>
4121 * sigc++/visit_each.h: visit_each_type(): Specify the specific
4122 template specialization of visit_each<>() to use. The AIX compiler,
4123 and possibly the Tru64 compiler, need this extra hint.
4125 2005-02-01 Murray Cumming <murrayc@murrayc.com>
4127 Define bind_functor::operator() inline because the AIX compiler/linker
4129 2005-02-01 Murray Cumming <murrayc@murrayc.com>
4131 * bind.h.m4: Define bind_functor::operator() inline because the AIX
4132 compiler/linker sometimes fails to find it when it is defined
4133 outside of the class.
4135 2005-02-01 Murray Cumming <murrayc@murrayc.com>
4139 2005-01-30 Murray Cumming <murrayc@murrayc.com>
4141 * sigc++/type_traits.h: is_base_and_derived: Added
4142 avoid_gcc3_warning_(), to avoid an incorrect warning when using
4145 2005-01-30 Murray Cumming <murrayc@murrayc.com>
4147 is_base_and_derived: Added avoid_gcc3_warning_(), to avoid an incorrect
4149 2005-01-30 Murray Cumming <murrayc@murrayc.com>
4151 * sigc++/type_traits.h: is_base_and_derived: Added
4152 avoid_gcc3_warning_(), to avoid an incorrect warning when using
4155 2005-01-30 Liza Klerck <liza@trdlnk.com>
4157 Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
4159 2005-01-28 Liza Klerck <liza@trdlnk.com>
4161 * sigc++/functors/macros/mem_fun.h.m4: Add a sigc:: namespace
4162 prefix to the nested use of visit_each(), to avoid ambiguity when
4163 using 2 versions of the libsigc++ API inside different namespace.
4165 2005-01-27 Murray Cumming <murrayc@murrayc.com>
4167 Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
4169 2005-01-27 Murray Cumming <murrayc@murrayc.com>
4171 * sigc++/adaptors/macros/adaptor_trait.h.m4: Add a sigc:: namespace
4172 prefix to the nested use of visit_each(), to avoid ambiguity when
4173 using 2 versions of the libsigc++ API inside different namespace,
4174 which is not very advisable anyway. Bug #165222 from
4177 2005-01-26 Murray Cumming <murrayc@src.gnome.org>
4181 2005-01-25 Murray Cumming <murrayc@src.gnome.org>
4185 2005-01-24 Cedric Gustin <cedric.gustin@swing.be>
4187 Moved the SIGC_USING_STD macro definition out of the SIGC_CONFIGURE
4189 2005-01-24 Cedric Gustin <cedric.gustin@swing.be>
4191 * sigc++config.h.in : Moved the SIGC_USING_STD macro definition
4192 out of the SIGC_CONFIGURE section. We also need it for MSVC.
4193 * MSVC_Net2003/.cvsignore : Added .def and .aps files
4194 * MSVC_Net2003/Makefile.am: Rewrote rule for local copy of
4195 sigc++config.h (required for 'make distcheck').
4196 * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Added test_retype and
4197 test_disconnect_during_emit tests.
4198 * MSVC_Net2003/tests/test_disconnect_during_emit/*,
4199 MSVC_Net2003/tests/test_retype/*: Initial commit.
4201 2005-01-21 Murray Cumming <murrayc@murrayc.com>
4203 Disabled the test_accumulator, test_bind, and test_compose tests, and part
4205 2005-01-21 Murray Cumming <murrayc@murrayc.com>
4207 * tests/: Disabled the test_accumulator, test_bind, and test_compose
4208 tests, and part of test_mem_fun because the AIX xlC compiler can not
4209 build them, but it can still do most things, including the examples.
4210 See the comments in tests/Makefile.am.
4212 2005-01-21 Murray Cumming <murrayc@murrayc.com>
4214 non-member operator()(): Specify the extra nil arguments in the templated
4216 2005-01-21 Murray Cumming <murrayc@murrayc.com>
4218 * sigc++/adaptors/bind.h.m4: non-member operator()(): Specify the
4219 extra nil arguments in the templated class name prefix. Oddly, the
4220 AIX xlC compiler says that the type of the first parameter does not
4221 match the template if you don't do this.
4223 2005-01-21 Murray Cumming <murrayc@murrayc.com>
4225 is_base_and_derived struct: Move the is_base_class_() functions out of the
4227 2005-01-21 Murray Cumming <murrayc@murrayc.com>
4229 * sigc++/type_traits.h: is_base_and_derived struct: Move the
4230 is_base_class_() functions out of the inner class, because the AIX
4231 xlC compiler does not like that - see the comments in the code.
4232 * sigc++/adaptors/bind.h.m4: Add the extra nil template types to
4233 the template specializations, as in slot and signal.
4235 2005-01-21 Murray Cumming <murrayc@murrayc.com>
4237 slot and signal template specialization for various numbers of template
4239 2005-01-21 Murray Cumming <murrayc@murrayc.com>
4241 * sigc++/functors/macros/slot.h.m4, sigc++/macros/signal.h.m4:
4242 slot and signal template specialization for
4243 various numbers of template args: In the class slot line, specify
4244 all the remaining template types as null, instead of expecting the
4245 compiler to guess them in itself. This partly fixes the build on
4246 AIX with the xlC compiler. Bug #164685.
4248 2005-01-19 Murray Cumming <murrayc@murrayc.com>
4250 struct is_base_and_derived: Make the test inner struct a friend, so that
4252 2005-01-19 Murray Cumming <murrayc@murrayc.com>
4254 * sigc++/type_traits: struct is_base_and_derived: Make the test inner
4255 struct a friend, so that it can use the big inner struct. This is
4256 required by the Tru64 compiler.
4257 * sigc++/adaptors/lambda/base.h: Put the unwrap_lambda_value()
4258 definitions at the top, because Tru64 (understandably) needs them to
4259 be declared before use.
4261 2005-01-19 Murray Cumming <murrayc@murrayc.com>
4263 Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
4265 2005-01-19 Murray Cumming <murrayc@murrayc.com>
4267 * scripts/: Added cxx_std.m4, with a test copied from
4268 glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
4270 * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
4271 like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
4272 is not there already,
4273 * configure.in: Used the new test.
4274 * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
4275 This is needed by the Tru64 and HP-UX compilers when using their
4278 2005-01-19 Murray Cumming <murrayc@murrayc.com>
4280 Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
4282 2005-01-19 Murray Cumming <murrayc@murrayc.com>
4284 * scripts/: Added cxx_std.m4, with a test copied from
4285 glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
4287 * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
4288 like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
4289 is not there already,
4290 * configure.in: Used the new test.
4291 * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
4292 This is needed by the Tru64 and HP-UX compilers when using their
4295 2005-01-19 Murray Cumming <murrayc@murrayc.com>
4297 AC_INIT(): Provide the extra tarball name parameter, so that it does not
4299 2005-01-19 Murray Cumming <murrayc@murrayc.com>
4301 * configure.in: AC_INIT(): Provide the extra tarball name parameter,
4302 so that it does not create a libsigc--- tarball.
4304 2005-01-19 Murray Cumming <murrayc@murrayc.com>
4306 AC_INT(): Use libsigc++ instead of sigc++, attempting to get the correct
4308 2005-01-19 Murray Cumming <murrayc@murrayc.com>
4310 * configure.in: AC_INT(): Use libsigc++ instead of sigc++, attempting
4311 to get the correct tarball name.
4313 2005-01-18 Murray Cumming <murrayc@murrayc.com>
4315 Used the autoconf 2.93 and AM_INIT_AUTOMAKE() technique to specify ustar
4317 2005-01-18 Murray Cumming <murrayc@murrayc.com>
4319 * configure.in: Used the autoconf 2.93 and AM_INIT_AUTOMAKE()
4320 technique to specify ustar format for the tarball, to prevent files
4321 with long file names from appearing at the top of the tarball.
4322 Based on the same fix in gtkmm 2.6.
4324 2005-01-18 Murray Cumming <murrayc@murrayc.com>
4326 Specify the base class when using the rep_ member variable. This stops the
4328 2005-01-18 Murray Cumming <murrayc@murrayc.com>
4330 * sigc++/functors/macros/slot_h.m4: Specify the base class when
4331 using the rep_ member variable. This stops the HP-UX aCC compiler
4332 from saying that a Nonstatic member is referenced in a nested class,
4333 local class or static member initializer. Bug #150719.
4335 2005-01-18 Murray Cumming <murrayc@murrayc.com>
4337 Bug #159597 - patch from e97_far at e.kth.se to replace C-style casts with
4339 2005-01-18 Murray Cumming <murrayc@murrayc.com>
4341 * Bug #159597 - patch from e97_far at e.kth.se to replace C-style
4342 casts with reinterpret_cast<> and static_cast<> to avoid warnings.
4344 2005-01-17 Murray Cumming <murrayc@murrayc.com>
4346 Specifying html/index.html instead of just the html directory as a target
4348 2005-01-17 Murray Cumming <murrayc@murrayc.com>
4350 * docs/manual/Makefile.am: Specifying html/index.html instead of
4351 just the html directory as a target seems to fix distcheck problems.
4352 I can also now confirm that the install works on solaris, when using
4353 gmake, though not when using make.
4355 2005-01-17 Murray Cumming <murrayc@murrayc.com>
4357 Add built files to DISTCLEANFILES to fix the distcheck. Specify in paths,
4359 2005-01-17 Murray Cumming <murrayc@murrayc.com>
4361 * MSVC_Net2004/Makefile.am: Add built files to DISTCLEANFILES to fix
4363 * docs/reference/Makefile.am, manual/Makefile.am: Specify in
4364 paths, to fix distcheck of the manual, and maybe fix install problems
4367 2005-01-11 Murray Cumming <murrayc@murrayc.com>
4369 Updated the text about binary packages. Link to the 2.0 documentation
4371 2005-01-11 Murray Cumming <murrayc@murrayc.com>
4373 * docs/website/stable.html: Updated the text about binary packages.
4374 * docs/website/docs.html: Link to the 2.0 documentation instead of the
4377 2005-01-11 GregSchussman <schussman@slac.stanford.edu>
4379 Clean up punctuation, make definitions complete sentences, and add
4381 2004-12-17 GregSchussman <schussman@slac.stanford.edu>
4383 * glossary.shtml: Clean up punctuation, make definitions complete
4384 sentences, and add clarifications for certain definitions according to
4385 what Murray Cumming's suggestions and answers to my questions.
4388 2005-01-11 Murray Cumming <murrayc@murrayc.com>
4390 Added manual, copied from the libsigc++-1.2 cvs module, and updated it for
4392 2005-01-11 Murray Cumming <murrayc@murrayc.com>
4394 * docs/: Added manual, copied from the libsigc++-1.2 cvs module,
4395 and updated it for the new 2.0 API.
4397 2005-01-11 Murray Cumming <murrayc@murrayc.com>
4399 Added website, copied from the libsigc++-1.2 cvs module. We will use it
4401 2005-01-11 Murray Cumming <murrayc@murrayc.com>
4403 * docs/: Added website, copied from the libsigc++-1.2 cvs module.
4404 We will use it from here from now on.
4406 2004-12-12 Cedric Gustin <cedric.gustin@swing.be>
4408 parse version tags at configure time (for sigc-2.0.rc). New resource file.
4410 2004-12-11 Cedric Gustin <cedric.gustin@swing.be>
4412 * configure.ac : parse version tags at configure time (for
4414 * MSVC_Net2003/sigc-2.0.rc.in : New resource file.
4415 * MSVC_Net2003/Makefile.am: include sigc-2.0.rc in distribution.
4417 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
4419 get sigc++config.h from $(top_builddir) instead of $(top_srcdir).
4421 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
4423 * MSVC_Net2003/Makefile.am: get sigc++config.h from $(top_builddir)
4424 instead of $(top_srcdir).
4426 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
4428 copy sigc++config.h from $(top_srcdir) at build time. sigc++config.h
4430 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
4432 * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
4433 at build time. sigc++config.h removed from CVS.
4435 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
4437 Renamed libsigc++ target to sigc-2.0d.dll (Debug) and sigc-2.0.dll
4439 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
4441 * MSVC_Net2003/*/*.vcproj: Renamed libsigc++ target to
4442 sigc-2.0d.dll (Debug) and sigc-2.0.dll (Release). Added
4443 $(SolutionDir) and $(SolutionDir)\.. to "Additional Include
4444 Directories" in tests projects.
4445 * sigc++config.h.in: Rewrote dllexport/dllimport macros for
4446 MSVC, for better consistency with glibmm/gtkmm.
4447 * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
4450 2004-11-27 Murray Cumming <murrayc@murrayc.com>
4452 Revert the AC_PROG_LIBTOOL change, so that this builds with actually
4454 2004-11-27 Murray Cumming <murrayc@murrayc.com>
4456 * configure.in: Revert the AC_PROG_LIBTOOL change, so that this builds
4457 with actually released libtool versions, and in jhbuild, so that it
4460 2004-11-06 Martin Schulze <mschulze@cvs.gnome.org>
4462 Make catcher_ member public so that it can be accessed by visit_each()
4464 2004-11-06 Martin Schulze <mschulze@cvs.gnome.org>
4466 * sigc++/adaptors/macros/exception_catch.h.m4: Make catcher_
4468 public so that it can be accessed by visit_each() (bug reported
4470 ml by Philip Langdale <plangdale@vmware.com>).
4472 2004-10-24 Martin Schulze <mschulze@cvs.gnome.org>
4474 Link with the "multithreaded DLL" runtime libraries and enable RTTI for
4476 2004-10-24 Martin Schulze <mschulze@cvs.gnome.org>
4479 MSVC_Net2003/*/*.vcproj: Link with the "multithreaded DLL"
4481 libraries and enable RTTI for the MSVC build
4482 (patch from Timothy M. Shead <tshead@k-3d.com>).
4483 * MSVC_Net2003/*/.cvsignore: Hide generated build files from cvs
4484 (patch from Timothy M. Shead <tshead@k-3d.com>).
4486 2004-10-12 Martin Schulze <mschulze@src.gnome.org>
4488 Update ChangeLog (add '2.0.6:').
4490 2004-10-12 Martin Schulze <mschulze@cvs.gnome.org>
4492 Fix project files to compile out-of-the-box and add dummy file so that .cc
4494 2004-10-12 Martin Schulze <mschulze@cvs.gnome.org>
4496 * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project
4498 to compile out-of-the-box and add dummy file so that .cc files
4500 recognized as c++ code files (patch from Timothy M. Shead).
4502 2004-10-12 Martin Schulze <mschulze@cvs.gnome.org>
4504 If SIGC_NEW_DELETE_IN_LIBRARY_ONLY is defined, implement
4506 2004-10-10 Martin Schulze <mschulze@cvs.gnome.org>
4508 * sigc++/signal_base.{h,cc}, sigc++/functors/slot_base.{h,cc},
4509 sigc++/functors/macros/slot.h.m4: If
4510 SIGC_NEW_DELETE_IN_LIBRARY_ONLY
4511 is defined, implement signal_base::operator new/delete and
4512 slot_rep::operator new/delete (suggested by Timothy M. Shead).
4513 Remove old work-around from 2004-10-02 since it didn't work.
4515 2004-10-07 Martin Schulze <mschulze@cvs.gnome.org>
4517 Update for libtool 1.5a (with support for Intel C++). Remove bogus
4519 2004-10-07 Martin Schulze <mschulze@cvs.gnome.org>
4521 * configure.ac: Update for libtool 1.5a (with support for Intel C++).
4522 * MSVC_Net2003/sigc++config.h: Remove bogus '#define'
4523 (reported by Timothy M. Shead <tshead@k-3d.com>).
4525 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
4527 Bump version number to 2.0.6. Add ChangeLog summary for version 2.0.6.
4529 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
4531 * configure.ac: Bump version number to 2.0.6.
4532 * NEWS: Add ChangeLog summary for version 2.0.6.
4534 2004-10-02 Martin Schulze <mschulze@src.gnome.org>
4536 Update tests/.cvsignore (Martin)
4538 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
4540 Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy. Call the
4542 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
4544 * sigc++/functors/slot_base.{h,cc},
4545 sigc++/functors/macros/slot.h.m4:
4546 Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy.
4547 Call the dtor of the functor stored in typed_slot_rep from
4549 A cleaner solution would be to add an additional "virtual"
4551 that calls 'delete' or a real virtual dtor. However, this would
4553 less efficient and might break the ABI. (Fixes #152323.)
4555 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
4557 Define and use new macro SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly
4559 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
4561 * sigc++config.h.in, MSVC_Net2003/sigc++config.h,
4562 sigc++/signal_base.cc, sigc++/functors/slot_base.{h,cc},
4563 sigc++/functors/macros/slot.h.m4: Define and use new macro
4564 SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly move
4565 all calls to new and delete into non-inline library code.
4567 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
4569 Add a missing template keyword in the definition of
4571 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
4573 * sigc++/adaptors/lambda/macros/group.h.m4: Add a missing
4574 template keyword in the definition of deduce_result_type::type
4575 (hopefully fixes #152327).
4577 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
4579 Use correct bound_mem_functor variants for const (volatile) methods (fixes
4581 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
4583 * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor
4584 variants for const (volatile) methods (fixes #148744).
4586 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
4588 Correct link to lambda module.
4590 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
4592 * docs/index.html: Correct link to lambda module.
4594 2004-09-01 Martin Schulze <mschulze@src.gnome.org>
4598 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
4600 Update compatibility section.
4602 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
4604 * README: Update compatibility section.
4606 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
4610 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
4612 * MSVC_Net2003/Makefile.am: Add sigc++config.h to EXTRA_DIST.
4613 * configure.ac: Bump version number to 2.0.5.
4614 * NEWS: Add ChangeLog summary for version 2.0.5.
4616 2004-08-21 Martin Schulze <mschulze@cvs.gnome.org>
4618 Use sigc::var("\n") instead of sigc::ref("\n"). Comment out the affected
4620 2004-08-21 Martin Schulze <mschulze@cvs.gnome.org>
4622 * tests/test_lambda.cc: Use sigc::var("\n") instead of
4624 Comment out the affected lines, nevertheless.
4625 Sun FORTE and Compaq C++ can handle neither sigc::ref("\n") nor
4626 sigc::var("\n"). I see more chances fixing sigc::var("\n").
4627 * sigc++/adaptors/lambda/macros/base.h.m4: Add a comment about a
4628 possible work around for sigc::var("\n") compiler problems.
4629 * tests/test_compatibility.cc: Remove a 'const' keyword that
4631 the test case from compiling with the Sun FORTE.
4632 * tests/test_trackable.cc: Remove a 'virtual' keyword and an
4634 variable to avoid compiler warnings.
4635 * NEWS: Add ChangeLog summary for version 2.0.4.
4637 2004-08-09 Murray Cumming <murrayc@src.gnome.org>
4641 2004-08-04 James Lin <slimjimmy@mail.com>
4643 Added SIGC_API qualifier to all externally-visible non-template
4645 2004-08-03 James Lin <slimjimmy@mail.com>
4647 * Added SIGC_API qualifier to all externally-visible
4650 * Added #include <sigc++config.h> to the files that use
4652 * Added empty SIGC_API definition to sigc++config.h.in for
4654 compilers. I'm not sure if this is the right place to put this
4656 * Added MSVC-specific sigc++config.h to the MSVC project
4658 (The comment in it probably should be edited.)
4659 * Changed MSVC project settings to output a multi-threaded DLL,
4661 the include paths to work (hopefully) out-of-the-box. Disabled
4662 precompiled headers, since they just complicate things and
4663 shouldn't be necessary for such a relatively project.
4665 2004-08-03 James Lin <slimjimmy@mail.com>
4667 Added SIGC_API qualifier to all externally-visible non-template
4669 2004-08-03 James Lin <slimjimmy@mail.com>
4671 * Added SIGC_API qualifier to all externally-visible
4674 * Added #include <sigc++config.h> to the files that use
4676 * Added empty SIGC_API definition to sigc++config.h.in for
4678 compilers. I'm not sure if this is the right place to put this
4680 * Added MSVC-specific sigc++config.h to the MSVC project
4682 (The comment in it probably should be edited.)
4683 * Changed MSVC project settings to output a multi-threaded DLL,
4685 the include paths to work (hopefully) out-of-the-box. Disabled
4686 precompiled headers, since they just complicate things and
4687 shouldn't be necessary for such a relatively project.
4689 2004-08-01 Martin Schulze <mschulze@cvs.gnome.org>
4691 Remove type_trait<>::instance() (was unimplemented and unused; caused
4693 2004-08-01 Martin Schulze <mschulze@cvs.gnome.org>
4695 * sigc++/type_traits.h: Remove type_trait<>::instance()
4696 (was unimplemented and unused; caused problems with the MSVC).
4698 2004-07-23 Martin Schulze <mschulze@cvs.gnome.org>
4700 Fix typo concerning distribution of libsigc++-2.0.spec. Mention our
4702 2004-07-23 Martin Schulze <mschulze@cvs.gnome.org>
4704 * Makefile.am: Fix typo concerning distribution of
4706 * AUTHORS: Mention our contributors for platforms Sun FORTE and
4709 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
4711 Don't call operator()() in sun_forte_workaround(); rather copy
4713 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
4715 * *.h.m4: Don't call operator()() in sun_forte_workaround(); rather copy
4716 operator()(). Calling operator()() makes a copy of the arguments causing
4717 wrong results if an argument type is a reference. Hopefully fixes #147311.
4719 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
4721 Break "std::cout << [expr] << a << std::endl;" into "std::cout << [expr];
4723 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
4725 * tests/test_lambda.cc: Break "std::cout << [expr] << a << std::endl;"
4726 into "std::cout << [expr]; std::cout << a << std::endl;".
4727 I hope this fixes #147313 where the right values for "[expr]" but wrong
4728 values for "a" were written to std::cout for some compiler with optimizations
4731 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
4733 Correct return type deduction of lambda expressions in
4735 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
4737 * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction
4738 of lambda expressions in lambda_operator*::operator()(). Might be related to
4740 * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_().
4742 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
4744 Add configure check SIGC_OPERATOR_OVERLOAD_AMBUGUITY for a SUN FORTE
4746 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
4748 * scripts/cxx.m4, sigc++config.h.in, configure.ac,
4749 sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
4750 Add configure check SIGC_OPERATOR_OVERLOAD_AMBUGUITY for a SUN FORTE
4751 compiler problem (bug #147391). Use it to decide whether the lambda
4752 action operators may be overloaded (not doing so restricts the API slightly).
4753 * sigc++/adaptors/lambda/macros/operator.h.m4: Add some doxygen comments
4754 and remove attic code.
4755 * sigc++/adaptors/lambda/macros/base.h.m4:
4756 Add templates unwrap_lambda_type and unwrap_lambda_value() to support
4757 the non-overloaded lambda action operators. Also add some doxygen comments
4758 and remove attic code.
4759 * sigc++/adaptors/lambda/macros/group.h.m4: Fix a bug that resulted in
4760 gargabe values being passed on to the functor contained in the group adaptor
4761 (partly fixes #147313).
4763 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
4765 Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD into
4767 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
4769 * scripts/cxx.m4, sigc++config.h.in, configure.ac, *.h.m4:
4770 Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
4771 into SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
4772 and SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD.
4773 Remove LIBSIGC_TEMPLATE_PREFIX. Add template keyword to
4774 SIGC_WORKAROUND_OPERATOR_PARENTHESES depending on the configure
4776 Should fix the compiler problems with MSVC.
4778 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
4780 Use sigc::ptr_fun instead of std::ptr_fun. (fixes bug #144846)
4782 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
4784 * examples/hello_world.cc: Use sigc::ptr_fun instead of
4788 2004-07-11 Eric Bourque <ericb@computer.org>
4790 new file patched generate spec file ignore generated file (Martin Schulze)
4792 2004-07-11 Eric Bourque <ericb@computer.org>
4794 * libsigc++-2.0.spec.in: new file
4795 * configure.ac : patched generate spec file
4796 * .cvsignore: ignore generated file (Martin Schulze)
4797 * Makefile.am: distribute spec file (Martin Schulze)
4799 2004-07-11 Murray Cumming <murrayc@murrayc.com>
4801 Added some comments. operator=(): Check for self-asignment, though I do
4803 2004-07-11 Murray Cumming <murrayc@murrayc.com>
4805 * sigc++/connection.cc: Added some comments.
4806 * sigc++/trackable.cc: operator=(): Check for self-asignment, though I
4807 do not know of any actual bug that this fixes. Added some comments.
4808 * sigc++/trackable.h Added some doxygen documentation.
4810 2004-07-09 Murray Cumming <murrayc@murrayc.com>
4812 Added test_disconnect_during_emit.cc, to prove that this works.
4814 2004-07-09 Murray Cumming <murrayc@murrayc.com>
4816 * tests/: Added test_disconnect_during_emit.cc, to prove that this
4819 2004-07-08 Murray Cumming <murrayc@murrayc.com>
4821 foo::operator(int): return a value. The SUN Forte 5.5 compiler complains
4823 2004-07-08 Murray Cumming <murrayc@murrayc.com>
4825 * sigc++/tests/test_retype_return.cc: foo::operator(int): return a
4826 value. The SUN Forte 5.5 compiler complains about this, as it should.
4828 2004-07-08 Murray Cumming <murrayc@murrayc.com>
4830 class signal*: Rename the slot_list typedef to slot_list_type, because
4832 2004-07-08 Murray Cumming <murrayc@murrayc.com>
4834 * sigc++/macros/signal.h.m4: class signal*: Rename the slot_list
4835 typedef to slot_list_type, because there is already a template class
4836 called slot_type. SUN Forte 5.5 seems to complain about this and I am
4837 not surprised. The old typdef is still there for backwards
4838 compatibility, except when building with SUN Forte.
4840 2004-07-07 Murray Cumming <murrayc@murrayc.com>
4842 SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD(): Don't define the
4844 2004-07-07 Murray Cumming <murrayc@murrayc.com>
4846 * scripts/cxx.m4: SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD():
4847 Don't define the SIGC_TEMPLATE_SPECIALIZATOIN_OPERATOR_OVERLOAD C
4848 macro at all if the test fails. This might fix the build on SUN Forte.
4849 * sigc++/functors/macros/mem_fun.h.m4: Default constructor: Initialize
4850 the func_ptr_ member variable. I have no evidence that this solves any
4851 problems, but it worried me.
4852 * sigc++/functors/slot_base.h: operator bool(): Correct documentation,
4853 to use @code instead of <code>
4854 * sigc++/macros/signal.h.m4: Remove the documentation for the
4855 parameters named first and last, because they do not exist.
4857 2004-05-31 Martin Schulze <mschulze@cvs.gnome.org>
4859 Add '--force'-flag to the 'libtoolize'-command (bug #143425).
4861 2004-05-31 Martin Schulze <mschulze@cvs.gnome.org>
4863 * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425).
4865 2004-05-30 Martin Schulze <mschulze@cvs.gnome.org>
4867 Bump version number to 2.0.3. Add ChangeLog summary for version 2.0.3. Fix
4869 2004-05-30 Martin Schulze <mschulze@cvs.gnome.org>
4871 * configure.ac: Bump version number to 2.0.3.
4872 * NEWS: Add ChangeLog summary for version 2.0.3.
4873 * sigc++/macros/signal.h.m4: Fix segfault on emission of unconnected sig
4875 * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected sign
4877 * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
4878 dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead).
4880 2004-05-23 Martin Schulze <mschulze@cvs.gnome.org>
4882 Bump version number to 2.0.2. Add ChangeLog summary for version 2.0.2.
4884 2004-05-22 Martin Schulze <mschulze@cvs.gnome.org>
4886 * configure.ac: Bump version number to 2.0.2.
4887 * NEWS: Add ChangeLog summary for version 2.0.2.
4889 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
4891 If a custom accumulator is specified invoke it on signal emission even if
4893 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
4895 * sigc++/macros/signal.h.m4: If a custom accumulator is specified
4896 invoke it on signal emission even if the signal's slot list is empty.
4897 (This used to be the case in libsigc++-1.2 as pointed out by Timothy.)
4899 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
4901 Suppress compiler warning at dynamic_cast<>-test (suggested by Timothy M.
4903 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
4905 * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
4906 dynamic_cast<>-test (suggested by Timothy M. Shead).
4908 2004-05-01 Martin Schulze <mschulze@cvs.gnome.org>
4910 Updated for libsigc++-2.0.
4912 2004-05-01 Martin Schulze <mschulze@cvs.gnome.org>
4914 * README: Updated for libsigc++-2.0.
4916 2004-04-28 Martin Schulze <mschulze@cvs.gnome.org>
4918 Bump version number to 2.0.1. Add ChangeLog summary for version 2.0.1.
4920 2004-04-27 Martin Schulze <mschulze@cvs.gnome.org>
4922 * configure.ac: Bump version number to 2.0.1.
4923 * NEWS: Add ChangeLog summary for version 2.0.1.
4924 * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation.
4925 * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen.
4926 * scripts/cxx.m4, sigc++config.h.in, configure.ac,
4927 sigc++/adaptors/macros/bind.h.m4: Removed configure check. It
4928 showed that the Apple gcc can also compile the sophisticated version
4931 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
4933 Modified test for SigC::Object inheritance so that it also works if
4935 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
4937 * sigc++/macros/object_slot.h.m4: Modified test for SigC::Object
4938 inheritance so that it also works if SigC::Object is virtual base.
4939 (Fixes bug 141094 reported by Jonathan Brandmeyer)
4941 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
4943 Updated the configure check. It would probably have succeeded on the
4945 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
4947 * scripts/cxx.m4: Updated the configure check. It would probably
4948 have succeeded on the Apple.
4950 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
4952 Add work-arounds for bind<-1>::deduce_result_type compilation error on
4954 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
4956 * sigc++/adaptors/macros/bind.h.m4: Add work-arounds for
4957 bind<-1>::deduce_result_type compilation error on Apple gcc 3.3.
4958 * scripts/cxx.m4, sigc++config.h.in, configure.ac: Add configure
4959 check for the compilation error above.
4960 * sigc++/adaptors/lambda/macros/operator.h.m4: Replace _A with
4961 _Aa. _A is a reserved keyword on Apple gcc 3.3 (Spundun Bhatt).
4962 (fixes bug #10444 reported by Spundun Bhatt)
4964 2004-04-19 Martin Schulze <mschulze@cvs.gnome.org>
4966 Fixed serious bug in signal_base::impl(): Only reference a newly created
4968 2004-04-19 Martin Schulze <mschulze@cvs.gnome.org>
4970 * sigc++/signal_base.cc: Fixed serious bug in signal_base::impl():
4971 Only reference a newly created object (initial reference).
4972 (This fixes bug #140269 reported by Andris.)
4974 2004-04-19 Murray Cumming <murrayc@murrayc.com>
4976 Updated the operator() template check, because it failed with gcc 3.4
4978 2004-04-19 Murray Cumming <murrayc@murrayc.com>
4980 * scripts/cxx.m4: Updated the operator() template check, because it
4981 failed with gcc 3.4 (from cvs). Apparently the template keyword can
4982 only be used from another template.
4984 2004-04-12 Martin Schulze <mschulze@cvs.gnome.org>
4986 Bump version number to 2.0.0. Add ChangeLog summary for version 2.0.0.
4988 2004-04-06 Martin Schulze <mschulze@cvs.gnome.org>
4990 * configure.ac: Bump version number to 2.0.0.
4991 * NEWS: Add ChangeLog summary for version 2.0.0.
4992 * TODO, AUTHORS: Bring up to date.
4993 * sigc++-2.0.pc.in, Makefile.am: 1.9 -> 2.0
4994 * Added more documentation.
4996 2004-04-10 Murray Cumming <murrayc@murrayc.com>
4998 Implement blocked() to avoid undefined symbol linker error.
5000 2004-04-10 Murray Cumming <murrayc@murrayc.com>
5002 * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined
5003 symbol linker error.
5005 2004-04-07 Murray Cumming <murrayc@murrayc.com>
5007 dist the scripts directory.
5009 2004-04-08 Murray Cumming <murrayc@murrayc.com>
5011 * dist the scripts directory.
5013 2004-04-06 Martin Schulze <teebaum@cvs.gnome.org>
5015 Bump version number to 1.9.16. Add ChangeLog summary for version 1.9.16.
5017 2004-04-06 Martin Schulze <teebaum@cvs.gnome.org>
5019 * configure.ac: Bump version number to 1.9.16.
5020 * NEWS: Add ChangeLog summary for version 1.9.16.
5022 2004-04-02 Murray Cumming <murrayc@murrayc.com>
5024 Make block() and unblock() always return a value, to fix compiler
5026 2004-04-02 Murray Cumming <murrayc@murrayc.com>
5028 * sigc++/connection.cc: Make block() and unblock() always return a
5029 value, to fix compiler warnings. Patch from bug #138620 by
5030 Alexander Nedotsukov.
5032 2004-04-02 Murray Cumming <murrayc@murrayc.com>
5034 * Fix the compile of examples/member_method.cc. Bug #131701 from
5035 Kirill Smelkov. I also made the examples build as part of the regular
5038 2004-04-02 Murray Cumming <murrayc@murrayc.com>
5040 Remove every undef apart from the one we need, to avoid clashes, because
5042 2004-04-02 Murray Cumming <murrayc@murrayc.com>
5044 * sigc++config.h.m4: Remove every undef apart from the one we need, to
5045 avoid clashes, because we #include this in a public header.
5047 2004-03-25 Murray Cumming <murrayc@murrayc.com>
5049 Rename the template_keyword check to template_specialization, because the
5051 2004-03-25 Murray Cumming <murrayc@murrayc.com>
5053 * scripts/cxx.m4, configure.in, sigc++config.h.in: Rename the
5054 template_keyword check to template_specialization, because the problem
5055 is with or without the keyword.
5056 * sigc++/adaptors/macros/adaptor_trait.h.m4: Define
5057 SIGC_WORKAROUND_OPERATOR_PARENTHESES, which calls either operator() or
5058 sun_forte_workaround() depending on the result of the compiler test.
5059 * many .m4 files: Add sun_forte_workaround methods that call the
5060 operator() methods. Put them in #ifdefs so that only SUN Forte C++
5063 2004-03-21 Murray Cumming <murrayc@murrayc.com>
5065 Fix the sigc++config.h.in disting, to fix make distcheck.
5067 2004-03-22 Murray Cumming <murrayc@murrayc.com>
5069 * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting,
5070 to fix make distcheck.
5072 2004-03-21 Murray Cumming <murrayc@murrayc.com>
5074 Rename config.h.in to sigc++config.h.in so that gtkmm does not include
5076 2004-03-21 Murray Cumming <murrayc@murrayc.com>
5078 * Rename config.h.in to sigc++config.h.in so that gtkmm does not
5079 include some other config.h at strange times - fixes a problem in
5080 the gtkmm demos. This should really be in the sigc++ directory, but
5081 that seems to add that as an include path, which causes the STL
5082 headers to include sigc++/signal.h instead of some STL signal.h header.
5084 2004-03-20 Murray Cumming <murrayc@murrayc.com>
5086 Install the config.h platform-specific header. Report the include path for
5088 2004-03-20 Murray Cumming <murrayc@murrayc.com>
5090 * Makefile.am: Install the config.h platform-specific header.
5091 * sigc++-2.0.pc.in: Report the include path for config.h
5093 2004-03-19 Murray Cumming <murrayc@murrayc.com>
5095 Added config.h.in, using autoheader, from which config.h will be
5097 2004-03-20 Murray Cumming <murrayc@murrayc.com>
5099 * Added config.h.in, using autoheader, from which config.h will be
5100 generated, so we can detect compiler features.
5101 * configure.ac: Added AC_CONFIG_HEADER(config.h) to generate config.h
5103 * scripts/cxx.m4: Added this directory and file, with a
5104 SIGC_CXX_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD macro that defines
5105 the SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD C macro.
5106 * autogen.sh: Added -I scripts to the aclocal call, so that it finds
5107 the m4 macro for configure.ac.
5108 * sigc++/adapators/macros/adaptor_trait.h.m4: Include config.h and
5109 use SIGC_TEMPLATE_KEYOWRD_OPERATOR_OVERLOAD.
5111 2004-03-17 Martin Schulze <mschulze@cvs.gnome.org>
5113 Don't test making functors from overloaded methods with partial template
5115 2004-03-18 Martin Schulze <mschulze@cvs.gnome.org>
5117 * tests/test_mem_fun.cc, tests/test_ptr_fun.cc: Don't test
5118 making functors from overloaded methods with partial template
5119 specialization. Not portable among different compilers (SUN FORTE).
5120 * adaptors/macros/apdaptor_trait.h.m4: Only gcc seems to use the
5121 notation A.template operator()<...>(...) => adapt preprocessor check
5122 for #define LIBSIGC_TEMPLATE_PREFIX. TODO: replace with configure check.
5124 2004-03-13 Murray Cumming <murrayc@murrayc.com>
5126 slot_iterator_buf::operator*(): Use blocked() and empty() instead of
5128 2004-03-13 Murray Cumming <murrayc@murrayc.com>
5130 * g++ 3.4 (pre-release) build fixes:
5131 * sigc++/macros/signal.h.m4: slot_iterator_buf::operator*():
5132 Use blocked() and empty() instead of non-existant blocked_and_empty().
5133 * sigc++/functors/macros/mem_fun.h.m4: memfun_functor*::operator()():
5134 Use this->func_ptr_ instead of just func_ptr_.
5135 * sigc++/adaptors/macros/deduce_result_type.h.m4: Use
5136 T_functor::template deduce_result_type<> instead of just
5137 T_functor::deduce_result_type<>.
5138 * sigc++/adaptors/lambda/macros/base.h.m4, operator.h.m4, group.h.m4::
5139 Use template keyword again. operator[](): Use this->value_ instead of
5141 * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and
5143 * sigc++/adaptors/macros/compose.h.m4, hide.h.m4, bind_return.h.m4,
5144 exception_catch.h.m4:
5145 rettype.h.m4, rettype_return.h.m4: Use template keyword,and this-> again
5147 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
5149 Bump version number to 1.9.15. Add ChangeLog summary for version 1.9.15.
5151 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
5153 * configure.ac: Bump version number to 1.9.15.
5154 * NEWS: Add ChangeLog summary for version 1.9.15.
5156 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
5158 Make the unnumbered slot templates' copy ctors use the copy ctors of the
5160 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
5162 * sigc++/functors/macros/slot.h.m4: Make the unnumbered slot templates'
5163 copy ctors use the copy ctors of the base class. Fixes bug #24698.
5164 * tests/test_slot.cc: Test copy ctor (Bryan Forbes).
5166 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
5168 Bring it up-to-date (use sigc::ref). Make it work with the SUN Forte.
5170 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
5172 * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref).
5173 Make it work with the SUN Forte.
5175 2004-02-24 Martin Schulze <teebaum@cvs.gnome.org>
5177 Make is_base_and_derived<> work with the SUN Forte.
5179 2004-02-24 Martin Schulze <teebaum@cvs.gnome.org>
5181 * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte.
5183 2004-02-19 Martin Schulze <teebaum@cvs.gnome.org>
5185 Make is_base_and_derived<> platform independant. Make lambda_core<> ctors
5187 2004-02-19 Martin Schulze <teebaum@cvs.gnome.org>
5189 * sigc++/type_traits.h: Make is_base_and_derived<> platform independant.
5190 * sigc++/adaptors/lambda/macros/base.h.m4: Make lambda_core<> ctors
5191 explicit. Remove an unused ctor from lambda_core<T_type, true>.
5193 2004-02-14 Martin Schulze <teebaum@cvs.gnome.org>
5195 Move some documentation to slot_base.h. Move some documentation to
5197 2004-02-14 Martin Schulze <teebaum@cvs.gnome.org>
5199 * sigc++/functors/slot_base.h, sigc++/functors/macros/slot.h.m4:
5200 Move some documentation to slot_base.h.
5201 * sigc++/signal_base.h, sigc++/macros/signal.h.m4:
5202 Move some documentation to signal_base.h.
5205 * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates.
5206 Make unnumbered slot templates inherit from slot#.
5209 * sigc++/functors/macros/mem_fun.h.m4: Allow for methods of the object's
5210 base types to be passed into sigc::mem_fun(). (Used to be the case in
5213 2004-02-13 Murray Cumming <murrayc@usa.net>
5215 Create and use a typedef for the destroy_notify callback functions, to
5217 2004-02-13 Murray Cumming <murrayc@usa.net>
5219 * sigc++/functors/slot_base.[h|cc], sigc++/trackable.[h|cc]: Create
5220 and use a typedef for the destroy_notify callback functions, to avoid
5221 confusion function pointer declaration syntax in the API.
5223 2004-02-13 Murray Cumming <murrayc@murrayc.com>
5225 * Moved implementation to .cc files:
5226 * sigc++/functors/: Added slot_base.[h|cc] which contains non-template
5227 code that was previsouly in the generated functors/slot.h and
5228 non-generated slot.cc files. All non-inline implementation is now in
5230 * sigc++/functors/macros/slot.m4: Removed the code that has been moved
5231 to slot_base.[h|cc].
5232 * sigc++/: Added signal_base.[h|cc] which contains non-template code
5233 that was previously in the generated signal.h and non-generated
5234 signal.cc file. All non-inline implementation is now in the .cc file.
5235 * sigc++/macros/signal.m4: Removed the code that ahs been moved to
5237 * sigc++/connector.[h|cc]: method implementation moved to the .cc file.
5239 2004-02-13 Martin Schulze <teebaum@cvs.gnome.org>
5241 Bump version number to 1.9.14. Add ChangeLog summary for version 1.9.14.
5243 2004-02-13 Martin Schulze <teebaum@cvs.gnome.org>
5245 * configure.ac: Bump version number to 1.9.14.
5246 * NEWS: Add ChangeLog summary for version 1.9.14.
5248 2004-02-10 Murray Cumming <murrayc@usa.net>
5250 slot_base: Added operator bool(), needed to check for a slot that is
5252 2004-02-09 Murray Cumming <murrayc@usa.net>
5254 * sigc++/macros/slot.h.m4: slot_base: Added operator bool(), needed to
5255 check for a slot that is created with the default constructor. This was
5256 present in libsigc++ 1.2 also.
5258 2004-02-06 Murray Cumming <murrayc@usa.net>
5260 Build the docs directory, by adding it to SUBDIRS. Updated to be more
5262 2004-02-06 Murray Cumming <murrayc@usa.net>
5264 * Makefile.am: Build the docs directory, by adding it to SUBDIRS.
5265 * docs/Doxyfile.in: Updated to be more glibmm-like.
5266 * Added some @deprecated doxygen bits.
5267 * sigc++/macros/signal.h.m4: Call base constructor from signal_base
5268 constructor - this is an error-as-warning when building gtkmm.
5270 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
5272 Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
5274 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
5276 * configure.ac: Bump version number to 1.9.13.
5277 * NEWS: Add ChangeLog summary for version 1.9.13.
5278 * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
5279 Distribute MS .Net project files.
5280 * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
5281 documentation. Make hide_functor ctor explicit.
5283 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
5285 Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
5287 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
5289 * configure.ac: Bump version number to 1.9.13.
5290 * NEWS: Add ChangeLog summary for version 1.9.13.
5291 * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
5292 Distribute MS .Net project files.
5293 * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
5294 documentation. Make hide_functor ctor explicit.
5296 2003-11-11 Martin Schulze <teebaum@cvs.gnome.org>
5298 Change to zero-based argument index in numbered bind() and hide() overload
5300 2003-11-11 Martin Schulze <teebaum@cvs.gnome.org>
5302 * sigc++/adaptors/macros/[bind,hide].h.m4: Change to zero-based
5303 argument index in numbered bind() and hide() overload
5304 (Agreement on the mailing list).
5305 Support binding up to CALL_SIZE arguments with one bind adaptor.
5306 (Requested by joey yandle and others).
5307 Only support binding of multiple arguments in unnumberd overloads
5308 to keep the API simple (Requested by Murray Cumming).
5309 * tests/test_[bind,hide,functor_trait].cc, sigc++/bind.h:
5310 Reflect API changes in compatibility module and test cases.
5312 2003-11-10 Martin Schulze <teebaum@cvs.gnome.org>
5314 Add unnumbered bind() and hide() overloads to make specifying the argument
5316 2003-11-10 Martin Schulze <teebaum@cvs.gnome.org>
5318 * sigc++/adaptors/macros/[bind,hide].h.m4: Add unnumbered
5319 bind() and hide() overloads to make specifying the argument
5320 position optional (Proposed by Jeff Franks).
5321 * tests/test_[bind,hide].cc: Test unnumbered bind() and hide().
5322 * sigc++/adaptors/macros/adaptor_trait.h.m4:
5323 Change "#ifdef MSVC" to "#ifdef _MSC_VER" (Roel Vanhout).
5325 2003-11-09 Martin Schulze <teebaum@cvs.gnome.org>
5327 Change functor type in typed_slot_rep to
5329 2003-11-09 Martin Schulze <teebaum@cvs.gnome.org>
5331 * sigc++/functors/macros/slot.h.m4: Change functor type in
5332 typed_slot_rep to adaptor_trait::adaptor_type<T_functor>
5333 and use explicit function template instantiation in
5334 internal::slot_call::call_it(). Avoids copying of arguments
5335 in call_it() and enables binding of object instances
5336 to class methods through bind() (Reported by Jeff Franks).
5337 * tests/test_bind.cc: Test binding object instances to
5338 class methods through bind().
5339 * sigc++/adaptors/adaptors.h: Include retype[_result].h.
5340 * sigc++/adaptors/macros/adaptor_trait.h.m4:
5341 - Add documentation.
5342 - Mark some c-tors as explicit.
5343 - Remove ununsed operator T_functor&() from adaptor_functor.
5344 * sigc++/adaptors/macros/deduce_result_type.h.m4:
5345 Rewrite parts of the documentation.
5346 * sigc++/adaptors/macros/bind.h.m4: Add documentation.
5347 * sigc++/functors/macros/mem_fun.h.m4: Remove unnecessary
5348 explicit markers. Minor fixes to documentation.
5349 * sigc++/functors/macros/functor_trait.h.m4:
5350 Minor fixes to documentation.
5352 2003-11-04 Martin Schulze <teebaum@cvs.gnome.org>
5354 Bump version number to 1.9.12. Add ChangeLog summary for version 1.9.12.
5356 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
5358 * configure.ac: Bump version number to 1.9.12.
5359 * NEWS: Add ChangeLog summary for version 1.9.12.
5361 2003-11-03 Martin Schulze <teebaum@cvs.gnome.org>
5363 Document accumulators. Move slot_iterator_buf into namespace internal.
5365 2003-11-03 Martin Schulze <teebaum@cvs.gnome.org>
5367 * sigc++/macros/signal.h.m4: Document accumulators.
5368 Move slot_iterator_buf into namespace internal. Since
5369 accumulators have the iterator type as a template argument
5370 there is no need to expose this very internal type.
5371 * sigc++/functors/macros/*.m4: Regroup documentation.
5372 Documentation of the core parts of the library should be
5375 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
5377 Improve documentation of the core parts of the library. Test ptr_fun()
5379 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
5381 * Improve documentation of the core parts of the library.
5382 * tests/test_ptr_fun.cc: Test ptr_fun() with static
5385 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
5387 Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
5389 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
5391 * Move all .m4 files into new subdirectories
5392 sigc++/[...]/macros. Install the .m4 files on
5393 "make install" (Reported by Ron Steinke).
5395 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
5397 Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
5399 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
5401 * Move all .m4 files into new subdirectories
5402 sigc++/[...]/macros. Install the .m4 files on
5403 "make install" (Reported by Ron Steinke).
5405 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
5407 Include sigc++/functors/mem_fun.h (Reported by Ron Steinke).
5409 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
5411 * sigc++/[class,method,object]_slot.h.m4: Include
5412 sigc++/functors/mem_fun.h (Reported by Ron Steinke).
5414 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
5416 Add negation operator I have completely overlooked until now. Test
5418 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
5420 * sigc++/adaptors/lambda/operator.h.m4: Add negation
5421 operator I have completely overlooked until now.
5422 * sigc++/tests/test_lambda.cc: Test negation operator.
5424 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
5426 - Use a shorter notation for ..._mem_function variants. - Change order of
5428 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
5430 * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
5431 sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
5432 - Use a shorter notation for ..._mem_function variants.
5433 - Change order of mem_funcotr<>'s template arguments to
5434 match std::mem_fun_t and to be more consistent with adaptors.
5435 - Use ::sigc::slot's implicit ctor in compatibility module.
5436 * sigc++/adaptors/lambda/operator.h.m4: Change some
5437 lambda action names to match action names in std.
5440 * sigc++/adaptors/retype.h.m4: New file adding
5442 * sigc++/Makefile.am: Build and distribute new file.
5443 * tests/test_retype.cc: New file testing adaptor retype.
5444 * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
5445 tests/Makefile.am: Build and distribute new test case.
5447 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
5449 - Use a shorter notation for ..._mem_function variants. - Change order of
5451 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
5453 * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
5454 sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
5455 - Use a shorter notation for ..._mem_function variants.
5456 - Change order of mem_funcotr<>'s template arguments to
5457 match std::mem_fun_t and to be more consistent with adaptors.
5458 - Use ::sigc::slot's implicit ctor in compatibility module.
5459 * sigc++/adaptors/lambda/operator.h.m4: Change some
5460 lambda action names to match action names in std.
5463 * sigc++/adaptors/retype_return.h.m4: New file adding
5465 * sigc++/Makefile.am: Build and distribute new file.
5466 * tests/test_retype.cc: New file testing adaptor retype.
5467 * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
5468 tests/Makefile.am: Build and distribute new test case.
5470 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
5472 New directory containing project files for Visual Studio .Net 2003.
5474 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
5476 * MSVC_Net2003: New directory containing project
5477 files for Visual Studio .Net 2003.
5478 Credits to Roel Vanhout <roel@riks.nl>!
5480 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
5482 Use LIBSIGC_TEMPLATE_PREFIX in explicit function template instantiations.
5484 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
5486 * sigc++/retype.h.m4: Use LIBSIGC_TEMPLATE_PREFIX
5487 in explicit function template instantiations.
5488 * sigc++/type_traits.h: Add template specialization
5489 for arrays (T_type[N]) to disable non-working member
5490 type_trait<T_type[N]>::instance().
5491 * sigc++/visit_each.h: Remove more disturbing
5492 limit_derived_target<>::operator() overloads.
5493 (Should have noticed earlier that they are unnecessary.)
5494 * sigc++/adaptors/deduce_result_type.h.m4,
5495 sigc++/adaptors/lambda/operator.h.m4,
5496 sigc++/functors/functor_trait.h.m4,
5497 tests/test_[bind,compose,exception_catch,hide,lambda].cc:
5498 Completely removed support for typeof(). We don't need
5499 it any more and it is completely non-standard!
5501 2003-10-31 Cedric Gustin <cedric.gustin@swing.be>
5503 Added test of win32 platform. Commented out AM_DISABLE_SHARED (DLLs are
5505 2003-10-30 Cedric Gustin <cedric.gustin@swing.be>
5507 * configure.ac: Added test of win32 platform. Commented
5508 out AM_DISABLE_SHARED (DLLs are shared libraries).
5509 * sigc++/Makefile.am: added a few LDFLAGS for win32
5512 2003-10-30 Martin Schulze <teebaum@cvs.gnome.org>
5514 Add SigC::Signal#<>::slot(). Comment out make_slot() work-around. Remove
5516 2003-10-30 Martin Schulze <teebaum@cvs.gnome.org>
5518 * sigc++/signal.h.m4: Add SigC::Signal#<>::slot().
5519 * sigc++/slot.h.m4: Comment out make_slot() work-around.
5520 * sigc++/adaptors/bind.h.m4: Remove unnecessary brackets
5521 in template argument lists. They are confusing MSVC.
5522 * sigc++/adaptors/*.h.m4, sigc++/adaptors/lambda/*.h.m4:
5523 Use LIBSIGC_TEMPLATE_PREFIX in explicit function
5524 template instantiations.
5525 * sigc++/tests/test_*.cc:
5526 - Include <string> where std::string is used.
5527 - Use double instead of float.
5529 2003-10-27 Martin Schulze <teebaum@cvs.gnome.org>
5531 Cleanup. Bring it up to date.
5533 2003-10-27 Martin Schulze <teebaum@cvs.gnome.org>
5535 * sigc++/retype.h.m4: Cleanup.
5536 * TODO: Bring it up to date.
5538 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
5540 Bump version number to 1.9.11. Add ChangeLog summary for version 1.9.11.
5542 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
5544 * configure.ac: Bump version number to 1.9.11.
5545 * NEWS: Add ChangeLog summary for version 1.9.11.
5547 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
5549 Compatiblity module: Move definition of compatiblity classes SigC::SignalN
5551 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
5553 Compatiblity module:
5554 * sigc++/signal.h.m4: Move definition of compatiblity
5555 classes SigC::SignalN to here.
5556 * sigc++/connection.h:
5557 - Add connection::connected().
5558 - Add compatibility typedef SigC::Connection.
5559 * sigc++/bind.h, sigc++/bind_return.h,
5560 sigc++/class_slot.h.m4, sigc++/hide.h.m4,
5561 sigc++/method_slot.h.m4, sigc++/object.h,
5562 sigc++/object_slot.h.m4, sigc++/retype.h.m4,
5563 sigc++/retype_return.h sigc++/slot.h.m4,
5564 sigc++/compatibility.h:
5565 New files to complete compatibility module.
5566 Split content of compatibility.h.m4 among the new files.
5567 * sigc++/compatibility.h.m4: Removed.
5568 * Makefile.am: Build and distribute new files.
5569 * tests/test_compatibility.cc: Test new stuff.
5572 * sigc++/functors/slot.h.m4: Fix copy constructor and
5573 operator=() of slot template.
5574 * sigc++/adaptors/bind.h.m4: Fix deduce_result_type
5575 template specializations. bind<0>() probably compiles
5578 2003-10-25 Martin Schulze <teebaum@cvs.gnome.org>
5582 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
5585 * sigc++/functors/slot.{cc,h.m4}:
5586 - Fix notification process: don't defer detaching of a
5587 slot from all referred trackables during signal emission!
5588 - Size optimization: replace virtual functions from
5589 struct typed_slot_rep with function pointers in slot_rep
5590 (reduces size of a typical typed_slot_rep instantiation
5592 * tests/test_slot.cc: Test sigc::slot more thoroughly.
5593 * sigc++/functors/mem_fun.h.m4: Fix visit_each().
5594 * sigc++/adaptos/bind_return.h.m4: Add support for
5596 * tests/test_bind_return.cc: Use sigc::ref().
5597 * sigc++/signal.h.m4: Avoid compiler warning about
5598 uninitialized variable r_ in emit().
5599 * sigc++/visit_each.h: Cleanup.
5602 * sigc++/adpators/lambda/operators.h.m4: Add
5603 lambda actions sigc::{reinterpret,static,dynamic}_cast_
5604 to support explicit parameter conversion.
5605 * tests/test_lambda.cc: Test sigc::static_cast_.
5606 * sigc++/adaptors/retype_return.h.m4: New file adding
5607 adaptor retype_return (and hide_return).
5608 * sigc++/Makefile.am: Build and distribute new file.
5609 * tests/test_retype_return.cc: New file testing
5610 adaptor retype_return (and hide_return).
5611 * tests/Makefile.am: Build and distribute new test case.
5613 2003-10-24 Martin Schulze <teebaum@src.gnome.org>
5615 update .cvsignore files
5617 2003-10-24 Martin Schulze <teebaum@cvs.gnome.org>
5619 Remove disturbing limit_derived_target<>::operator() overloads. Add
5621 2003-10-25 Martin Schulze <teebaum@cvs.gnome.org>
5623 * sigc++/visit_each.h: Remove disturbing
5624 limit_derived_target<>::operator() overloads.
5625 * sigc++/adaptors/bind.h.m4: Add support for sigc::ref().
5626 * tests/test_bind.cc: Test sigc::ref().
5627 * sigc++/adaptors/lambda/{operator,group,base}.h.m4:
5628 - Move support for sigc::ref() from lambda_core<> into
5629 lambda operator and lambda group creator functions.
5630 - Add missing visit_each() overload for lambda<> template.
5631 * tests/test_lambda.cc: Test auto-disconnection.
5632 TODO: Fix a strange bug that leads to "Bus error"
5633 during auto-disconnection.
5635 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
5637 Bump version number to 1.9.10. Add ChangeLog summary for version 1.9.10.
5639 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
5641 * configure.ac: Bump version number to 1.9.10.
5642 * NEWS: Add ChangeLog summary for version 1.9.10.
5644 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
5646 Move definition of struct nil into functor_trait.h.
5648 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
5650 * sigc++/functors/{functor_trait,slot}.h.m4:
5651 Move definition of struct nil into functor_trait.h.
5653 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
5655 Move definition of struct nil into functor_trait.h.
5657 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
5659 * sigc++/functors/{functor_trait,slot}.h.m4:
5660 Move definition of struct nil into functor_trait.h.
5662 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
5664 Disable typeof() compiler checks. Remove unnecessary deduce_result_type<>
5666 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
5668 * configure.ac: Disable typeof() compiler checks.
5669 * sigc++/adaptors/bind.h.m4: Remove unnecessary
5670 deduce_result_type<> template specializations.
5672 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
5674 Correct order of typedefs for good. (Patch from Jeff Franks.)
5676 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
5678 * sigc++/adaptors/compose.h.m4:
5679 Correct order of typedefs for good. (Patch from Jeff Franks.)
5681 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
5683 Add constructor that takes a sigc::slot_base& to support 3rd-party slot
5685 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
5687 * sigc++/connection.h: Add constructor that takes
5688 a sigc::slot_base& to support 3rd-party slot lists
5689 like they are used in glibmm/gtkmm.
5690 * sigc++/functors/slot.h.m4: Make sigc::slot::call_type public.
5691 (Fixes compile problems reported by Jeff Franks.)
5692 * sig++/type_traits.h: Don't use long long in
5693 sigc::is_base_and_derived.
5694 (Fixes compile problems reported by Jeff Franks.)
5695 * sigc++/adaptors/{bind,compose,hide,exception_catch}.h.m4:
5696 Correct order of typedefs. (Repoted by Jeff Franks.)
5697 * configure.ac: Bump version number to 1.9.9.
5698 * NEWS: Add ChangeLog summary for version 1.9.9.
5700 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
5702 Define doxygen group functors. Bump version number to 1.9.8. Add ChangeLog
5704 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
5706 * sigc++/functors/slot.h.m4: Define doxygen group functors.
5707 * configure.ac: Bump version number to 1.9.8.
5708 * NEWS: Add ChangeLog summary for version 1.9.8.
5710 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
5712 Add announces of versions 1.9.6 and 1.9.7. New file. Defines namespace
5714 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
5716 * NEWS: Add announces of versions 1.9.6 and 1.9.7.
5717 * sigc++/compatibility.h.m4: New file. Defines namespace SigC.
5718 namespace SigC should be API compatible to libsigc++-1.2.
5719 * sigc++/Makefile.am: Build compatibility.h.
5720 * tests/test_compatibility.cc, tests/Makefile.am:
5721 Add test case for compatibility module.
5722 * docs/index.html: Change group names.
5723 * sigc++/sigc++.h: Include connection.h.
5724 * sigc++/connection.{cc,h}:
5725 - Rename dependency to destroy_notify_callback.
5726 - Change parameter name in set_slot() from d to data.
5727 - Fix operator=(): Add "return *this;"
5728 - Get rid of namespace functor.
5729 - Corrections in documentation.
5730 * sigc++/signal.{cc,h.m4}:
5731 - Add reference counter to signal_impl. Replaces "bool destroy_".
5732 - Move signal_base, slot_iterator[_buf], slot_list out of
5733 namespace internal. They are part of the public API.
5734 - Add convenience function signal#::make_slot().
5735 - Get rid of namespace functor.
5736 - Corrections in documentation.
5737 * sigc++/trackable.{cc,h}:
5738 - Rename dependency to destroy_notify_callback.
5739 - Rename trackable::clear() to trackable::notify_callbacks().
5740 - Corrections in documentation.
5741 * sigc++/type_traits.h: Add documentation.
5742 * sigc++/visit_each.h:
5743 - Get rid of namespace functor.
5744 - Add documentation.
5745 * sigc++/adaptors[/lambda]/*: Get rid of namespace functor.
5746 * sigc++/functors/{functor_trait.h,ptr_fun.h.m4,mem_fun.h.m4}:
5747 - Get rid of namespace functor.
5748 - Corrections in documentation / add documentation.
5749 * sigc++/functors/slot.{cc,h.m4}:
5750 - Move slot_base out of namespace internal. It's public API.
5751 - Get rid of one-letter-parameter-names.
5752 - Get rid of namespace functor.
5753 - Corrections in documentation.
5754 * tests/*.cc: Get rid of "using namespace ...".
5756 2003-09-10 Martin Schulze <teebaum@cvs.gnome.org>
5758 Add subscript ([]) and assign (=) operator. I think there are now enough
5760 2003-09-10 Martin Schulze <teebaum@cvs.gnome.org>
5762 * sigc++/adaptors/lambda/{base,operators}.h.m4:
5763 Add subscript ([]) and assign (=) operator. I think there are now
5764 enough operators available to make any future power user happy.
5765 The only one missing is the comma operator and if we added it
5766 the logical consequence would be to also add if(), switch(), do(),
5767 etc. lambda expressions which are really out of place in libsigc++.
5768 * sigc++/type_traits.h: Fix is_base_and_derived<> for const types.
5769 * tests/test_lambda.cc: Test new operators.
5771 2003-09-04 Martin Schulze <teebaum@cvs.gnome.org>
5773 Bump version number to 1.9.7.
5775 2003-09-05 Martin Schulze <teebaum@cvs.gnome.org>
5777 * configure.ac: Bump version number to 1.9.7.
5779 2003-09-03 Martin Schulze <teebaum@cvs.gnome.org>
5781 - Restructure so that the size of the generated source file stays
5783 2003-09-03 Martin Schulze <teebaum@cvs.gnome.org>
5785 * sigc++/adaptors/lambda/operator.h.m4:
5786 - Restructure so that the size of the generated source file stays
5787 reasonable for 34 operators: There are only two lambda templates
5788 lambda_operator and lambda_operator_unary. The action is an additional
5789 template parameter. A small template lambda_action[_unary] is specialized
5791 - Add most operators that boost::lambda supports. Missing operators are
5792 "=", "[]", "," and support for pointer arithmetic. I don't know if it's
5793 worth adding these. In libsigc++, the purpose of lambda operators is to
5794 provide some extra functionality for the group adaptor.
5795 * tests/test_lambda.cc:
5796 Test pre-increment, address and dereference operator.
5798 2003-09-03 Martin Schulze <teebaum@cvs.gnome.org>
5800 New file reference_wrapper.h provides ref() to specify that
5802 2003-08-31 Martin Schulze <teebaum@cvs.gnome.org>
5804 * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
5805 New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
5806 should take a reference to the object passed into ref() instead of a copy.
5808 2003-08-31 Martin Schulze <teebaum@cvs.gnome.org>
5810 New file reference_wrapper.h provides ref() to specify that
5812 2003-08-31 Martin Schulze <teebaum@cvs.gnome.org>
5814 * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
5815 New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
5816 should take a reference to the object passed into ref() instead of a copy.
5817 * tests/test_lambda.cc:
5818 - Test group() with mem_fun().
5819 - Use ref() where lambdas should store references to objects.
5820 - Test var() and constant().
5821 * sigc++/adaptors/lambda/base.h.m4:
5822 - Support ref() in return type deduction.
5823 - Add var() and constant() which create lambdas for usage with lambda operators.
5824 * sigc++/adaptors/lambda/operator.h.m4:
5825 - Fix return type deduction.
5826 - Remove operator{+,-,*,...} overloads added on 2003-08-29. ref() is way cleaner.
5827 * sigc++/adaptors/lambda/group.h.m4,
5828 sigc++/adaptors/bind.h.m4, sigc++/adaptors/compose.h.m4,
5829 sigc++/adaptors/exception_catch.h.m4, sigc++/adaptors/hide.h.m4:
5830 Fix return type deduction.
5832 2003-08-29 Martin Schulze <teebaum@cvs.gnome.org>
5834 Add more tests. Make _1, _2, ... constant. Add operator{+,-,*,...}
5836 2003-08-29 Martin Schulze <teebaum@cvs.gnome.org>
5838 * tests/test_lambda.cc: Add more tests.
5839 * sigc++/adaptors/lambda/select.h.m4, sigc++/adaptors/lambda/lambda.cc.m4:
5840 Make _1, _2, ... constant.
5841 * sigc++/adaptors/lambda/operator.h.m4:
5842 Add operator{+,-,*,...} overloads to distinguish between const and non-const objects.
5843 Store references to non-const objects rather than copies.
5844 This allows expressions like e.g. std::cout << _1.
5845 * sigc++/adaptors/lambda/base.h.m4, sigc++/adaptors/lambda/group.h.m4:
5846 Remove void specializations. Functors returning void are tested and work fine.
5848 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
5850 Rename, correct and improve this test case. Build and run
5852 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
5854 * tests/test_callof.cc, tests/test_deduce_result_type.cc:
5855 Rename, correct and improve this test case.
5856 * tests/Makefile.am: Build and run test_deduce_result_type
5857 instead of test_callof.
5859 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
5863 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
5867 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
5869 Remove usage of callof_ignore_arg<>. Remove the first and move
5871 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
5873 * sigc++/adaptors/hide.h.m4: Remove usage of callof_ignore_arg<>.
5874 * sigc++/callof.h.m4, sigc++/adaptors/deduce_result_type.h.m4,
5875 sigc++/functors/functor_trait.h.m4:
5876 Remove the first and move deduce_result_type templates from
5877 functor_trait.h.m4 into new file deduce_result_type.h.m4.
5878 * sigc++/Makefile.am, sigc++/sigc++.h, sigc++/adaptors/adaptor_trait.h.m4:
5879 Build and include sigc++/adaptors/deduce_result_type.h instead of callof.h.
5880 * sigc++/functors/slot.h.m4: Document struct nil.
5882 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
5884 * sigc++/functors/functor_trait.h.m4: Simplify usage of convenience
5885 macro SIGC_FUNCTORS_HAVE_RESULT_TYPE:
5886 namespace sigc{ namespace functor{ SIGC_FUNCTORS_HAVE_RESULT_TYPE }}
5888 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
5890 Merge adaptor return type deduction and typeof() into
5892 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
5894 * sigc++/functors/functor_trait.h,m4, sigc++/adaptors[/lambda]/*.h.m4:
5895 Merge adaptor return type deduction and typeof() into
5896 sigc::functor::deduce_result_type. Use it for all adaptors.
5897 * tests/test_compose.cc: Only test multi-type get-functor if
5898 typeof() if supported.
5900 2003-08-23 Martin Schulze <teebaum@cvs.gnome.org>
5902 - Remove unnecessary void specializations. In fact, only the one for
5904 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
5906 * sigc++/adaptors[/lambda]/*.h.m4:
5907 - Remove unnecessary void specializations. In fact, only the one
5908 for sigc::functor::exception_catch<> is needed and I don't really
5909 understand why. For the lambda stuff the void specializatoins are
5910 just commented out at the moment.
5911 - Make typeof() optional. Surprisingly, I got the lambda stuff working
5912 without typeof()! The test suite doesn't catch all cases yet, so maybe
5913 some thing are still not working.
5914 TODO: Implement configure check.
5915 * tests/test_bind.cc, tests/test_compose.cc tests/test_exception_catch.cc,
5916 tests/test_hide.cc, tests/test_lambda.cc:
5917 Only test multiple functor return types if typeof() is supported.
5919 2003-08-06 Martin Schulze <teebaum@cvs.gnome.org>
5921 Add function trackable::clear().
5923 2003-08-06 Martin Schulze <teebaum@cvs.gnome.org>
5925 * sigc++/trackable.{cc,h}: Add function trackable::clear().
5927 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
5931 * TODO: Minor tweaks.
5933 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
5937 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
5939 Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
5941 * docs/reference/Doxyfile.in: Use these variables.
5942 * docs/reference/Makefile.am (html/index.html): Provide doxygen
5943 with SRCDIR and TOP_SRCDIR environment variables.
5945 * sigc++/functors/slot.h.m4: Make slot::call_type typedef public;
5946 this fixes a g++ 3.3 error in signal.h.
5948 * sigc++/signal.h.m4: Make the signal::accumulated class public;
5949 this fixes a g++ 3.3 error in test_accumulated.cc.
5951 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
5953 Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
5955 * docs/reference/Doxyfile.in: Use these variables.
5956 * docs/reference/Makefile.am (html/index.html): Provide doxygen
5957 with SRCDIR and TOP_SRCDIR environment variables.
5959 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
5961 Make slot::call_type typedef public; this fixes a g++ 3.3 error in signal.h.
5963 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
5965 Make the signal::accumulated class public; this fixes a g++ 3.3 error in test_accumulated.cc.
5967 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
5969 Added comment author annotation.
5971 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
5973 .cvignore additions.
5975 2003-06-15 Martin Schulze <teebaum@cvs.gnome.org>
5977 Correct typing error in docs. Document the whole thing.
5979 2003-06-15 Martin Schulze <teebaum@cvs.gnome.org>
5981 * sigc++/functor/slot.h.m4: Correct typing error in docs.
5982 * sigc++/functor/ptr_fun.h.m4: Document the whole thing.
5984 2003-05-31 Murray Cumming <murrayc@usa.net>
5986 Rearranged the groups to make it all a bit more like the libsigc++ 1.2
5988 2003-05-31 Murray Cumming <murrayc@usa.net>
5990 * Reference documentation: Rearranged the groups to make it all
5991 a bit more like the libsigc++ 1.2 reference documentation.
5992 Corrected some spelling and grammar too.
5993 This needs a lot of work. The text is very hard to read and it's
5994 generally not appropriate for a user of the code who doesn't
5995 care about the internals. But it's not impossible - our examples
5996 should show us what we need to say in the documentation.
5997 We probably need some more groups for the extra stuff, like we do
6000 2003-05-30 Martin Schulze <martin-ml@hippogriff.de>
6002 Fix documentation. Document the whole thing.
6004 2003-05-29 Martin Schulze <martin-ml@hippogriff.de>
6006 * sigc++/signal.h.m4: Fix documentation.
6007 * sigc++/connection.h, sigc++/functor/slot.h.m4:
6008 Document the whole thing.
6010 2003-05-29 Martin Schulze <martin-ml@hippogriff.de>
6012 - Remove bogus operator() from unnumbered signal<> and
6014 2003-05-29 Martin Schulze <martin-ml@hippogriff.de>
6016 * sigc++/signal.h.m4:
6017 - Remove bogus operator() from unnumbered signal<> and
6018 signal<>::accumulated templates.
6019 - Document the whole thing.
6021 * docs/index.html: Fix some links.
6023 2003-04-06 Martin Schulze <MHL.Schulze@t-online.de>
6025 Add Doxygen framework.
6027 2003-04-06 Martin Schulze <MHL.Schulze@t-online.de>
6029 * TODO, configure.ac, Makefile.am, docs/*:
6030 Add Doxygen framework.
6032 2003-04-05 Martin Schulze <MHL.Schulze@t-online.de>
6034 Move sigc::callof<> to sigc::functor::internal::callof<>.
6036 2003-04-06 Martin Schulze <MHL.Schulze@t-online.de>
6038 * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc:
6039 Move sigc::callof<> to sigc::functor::internal::callof<>.
6041 * sigc++/functors/mem_fun.h.m4, tests/test_mem_fun.cc:
6042 Add new types [bound_][const_]volatile_mem_functor, visit_each()
6043 and mem_fun() overloads for volatile qualifier.
6044 Add ctor overloads in bound_*mem_functor and mem_fun() overloads
6045 that take reference instead of pointer.
6047 2003-03-26 Martin Schulze <MHL.Schulze@t-online.de>
6049 Change "closure" to "slot" throughout sigc++2 (file names, class names,
6051 2003-03-26 Martin Schulze <MHL.Schulze@t-online.de>
6053 * Change "closure" to "slot" throughout sigc++2 (file names,
6054 class names, member variables, documentation, etc.).
6056 2003-03-25 Martin Schulze <MHL.Schulze@t-online.de>
6058 Rewrite to reflect recent changes as well as recent discussions.
6060 2003-03-26 Martin Schulze <MHL.Schulze@t-online.de>
6062 * TODO: Rewrite to reflect recent changes as well as recent discussions.
6064 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
6066 Make the adaptor's data member public so that visit_each() can access it.
6068 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
6070 * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member
6071 public so that visit_each() can access it.
6073 * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about
6074 malfunctioning typeof() (probably compiler bug in gcc-3.2).
6076 * tests/*.cc: Test references. Fix compose equivalent in test_lambda.
6078 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
6080 Move detection of function and member method pointers' return types from
6082 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
6084 * sigc++/Makefile.am, sigc++/functors/functor_trait.h[.m4],
6085 sigc++/adaptors/adaptor_trait.h.m4: Move detection of function
6086 and member method pointers' return types from adaptor_trait into
6087 functor_trait. (We'll use functor_trait rather than adaptor_trait for
6088 our lambda stuff.) functor_trait.h needs to be generated from .m4 now.
6090 * sigc++/functors/functor_trait.h.m4: Add convenience macros:
6091 - SIGC_FUNCTORS_HAVE_RESULT_TYPE indicates that the existance of
6092 T_functor::result_type should be assumed for all unknown functors.
6093 - SIGC_FUNCTOR_TRAIT(T_functor, T_result) explicitly specifies the
6094 result type of a functor.
6095 ("typename functor_trait<T_functor>::result_type") is used to
6096 determine the return type of our adaptors' operator()() overloads.
6098 * sigc++/adaptors/[lambda/]*.h.m4: Various fixes in visit_each() and
6099 operator()() overloads to make these operator()() overloads usable.
6100 Most of them were just commented out before. Some adaptor types also
6101 have void specializations, now.
6103 * sigc++/adaptors/lambda/group.h.m4: Change syntax from
6104 "[some_functor] % grp([args])" to "group([some_functor], [args])"
6105 like we agreed on the ml some time ago.
6107 * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work
6110 2003-03-22 Murray Cumming <murrayc@usa.net>
6112 Added pgk-config file, from a mystery person in bug #108857
6114 2003-03-22 Murray Cumming <murrayc@usa.net>
6116 * Added pgk-config file, from a mystery person in bug #108857
6118 2003-03-22 Martin Schulze <MHL.Schulze@t-online.de>
6120 Test and show how to use functor_trait for user defined or 3rd-party
6122 2003-03-22 Martin Schulze <MHL.Schulze@t-online.de>
6124 * tests/test_bind.cc: Test and show how to use functor_trait
6125 for user defined or 3rd-party functors so that a
6126 bind<0>([functor],[arg1])() call with no arguments can return a value.
6128 2003-03-20 Martin Schulze <MHL.Schulze@t-online.de>
6130 Add explanations. Comment in / create templates callof_safe[#].
6132 2003-03-20 Martin Schulze <MHL.Schulze@t-online.de>
6134 * sigc++/callof.h.m4: Add explanations. Comment in / create templates
6135 callof_safe[#]. Unfortunately they don't work for functors with overloaded
6136 operator() so we don't use it for now. At least everything is documented.
6138 * sigc++/functors/functor_trait.h, sigc++/functors/*.h.m4: Add back
6139 functor_base compiler hint. We're using it now in adaptor_functor<>.
6141 * sigc++/adaptors/{adaptor_trait,bind}.h.m4: Make operator() overloads
6142 with no arguments return the result of the functor invocation.
6143 Fix multiple bind<0>().
6144 * tests/test_bind.cc: Test the stuff that's working now.
6146 2003-03-16 Murray Cumming <murrayc@usa.net>
6148 Added sigc++/sigc++.h, like in libsigc++ 1.2 Added member_method example,
6150 2003-03-16 Murray Cumming <murrayc@usa.net>
6152 * Added sigc++/sigc++.h, like in libsigc++ 1.2
6153 * examples: Added member_method example, which uses a class method
6154 and which demonstrates disconnection.
6156 2003-03-13 Martin Schulze <teebaum@src.gnome.org>
6158 Bump version to 1.9.6.
6160 2003-03-11 Andreas Rottmann <rotty@src.gnome.org>
6162 Use substitution references instead of $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball bug.
6164 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
6166 Add block() capability.
6168 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
6170 * sigc++/connection.h: Add block() capability.
6172 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
6174 Add flag signal_impl::destroy_ and function signal_impl::destroy(). Use
6176 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
6178 * sigc++/signal.{cc,h.m4}: Add flag signal_impl::destroy_
6179 and function signal_impl::destroy(). Use them to defer
6180 the destruction of the signal_impl object during signal
6183 * tests/test_disconnect.cc: Add tests for the connection
6184 class and for deleting signals during emission.
6186 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
6188 - New files that add a connection class. Objects of this class are
6190 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
6192 * sigc++/connection.{cc,h}, sigc++/Makefile.am:
6193 - New files that add a connection class. Objects of this
6194 class are constructed from closure list iterators and can
6195 be used to disconnect the refered closure. As opposed to
6196 iterators they stay valid beyond the lifetime of the closure.
6198 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
6200 - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_. - Make
6202 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
6204 * sigc++/functors/closure.{cc,h.m4}, sigc++/signal.cc:
6205 - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_.
6206 - Make closure_rep inherit trackable. This allows for
6207 connection objects that stay valid beyond the life time
6208 of the refered closure.
6209 - Make some one-line-functions inline again.
6211 2003-03-08 Martin Schulze <MHL.Schulze@t-online.de>
6213 BUGFIX in trackable_dep_list::clear()
6215 2003-03-08 Martin Schulze <MHL.Schulze@t-online.de>
6217 * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear()
6219 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
6221 Ignore `make dist' tarballs.
6223 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
6225 The "The New Build System" changes.
6227 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
6229 Re-included lambda test.
6231 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
6233 Removed. Removed. Removed. Remove the above Makefiles.
6235 * sigc++/functors/Makfile.am: Removed.
6236 * sigc++/adaptors/Makefile.am: Removed.
6237 * sigc++/adaptors/lambda/Makefile.am: Removed.
6238 * configure.ac (AC_OUTPUT): Remove the above Makefiles.
6240 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
6242 Rewritten so we can build lambda cleanly. Removed.
6244 * sigc++/Makefile.am: Rewritten so we can build lambda cleanly.
6245 * sigc++/Makefile.am_fragment: Removed.
6247 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
6251 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
6253 - signal_emit#<>: New templates replacing signal#<>::caller. The purpose
6255 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
6257 * sigc++/signal.{cc,h.m4}:
6258 - signal_emit#<>: New templates replacing signal#<>::caller.
6259 The purpose of these templates is implementing the emit
6260 function and optimizing signal emission for the case that
6261 no accumulator is used via template specializations.
6262 - default_accumulator<>: Removed. The default for T_accumulator
6263 in signal#<> now is nil. An example how to use accumulators
6264 is available in tests/test_accumulator.cc.
6265 - signal_{base,impl}: Move the implementation of signal_base's
6266 interface to signal_impl. An object of this class is
6267 dynamically allocated when first connecting a closure to
6268 the signal. This drastically reduces the size of empty signals
6269 and allows for future addition of a reference counter to make
6270 it safe to delete a signal during emission.
6271 - Directly work on closure_rep during signal emission. This
6272 seems to be quicker than using the closure templates.
6273 - Document the classes. Restructure the header file a bit.
6275 * sigc++/functors/closure.h.m4: Make closure_base::rep_ data
6276 member public, so that signal emission can directly work on it.
6278 * tests/test_size.cc: Add an entry for signal_impl.
6280 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
6282 - closure_base: BUGFIXES in ~closure_base() and operator=(). - Mark some
6284 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
6286 * sigc++/closure.{cc,h.m4}:
6287 - closure_base: BUGFIXES in ~closure_base() and operator=().
6288 - Mark some functions with the inline keyword. This seems to
6289 help gcc 3.2 to optimize signal emission and (dis)connection.
6290 - Document the classes. Restructure the header file a bit.
6292 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
6294 Make trackable allocate a trackable_dep_list object dynamically when
6296 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
6298 * sigc++/trackable.{cc,h}: Make trackable allocate a
6299 trackable_dep_list object dynamically when adding the first
6300 dependency. (This reduces the size of objects, that are not
6301 refered by a closure by 4 bytes (50%) and increases the size
6302 of objects that are refered by a closure by 4 bytes (50%)
6303 on a 32 bit architecture => This reduces total memory use
6304 when >50% of the trackables are not refered by a closure.)
6305 Document the classes.
6307 2003-03-06 Andreas Rottmann <rotty@src.gnome.org>
6309 Added new test executables.
6311 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
6313 Add two test cases. test_size is showing the size of public and internal
6315 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
6317 * tests/Makefile.am, tests/test_size.cc, tests/test_accumulated.cc:
6318 Add two test cases. test_size is showing the size of public and
6319 internal structures. (Which apart from empty signals are smaller
6320 than the sizes of the equivalent libsigc++-1.2 structures.)
6321 test_accumulated is a test for the template signal<>::accumulated<>
6322 at the same time showing the use of accumulators in libsigc++2.
6324 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
6326 BUGFIX in template specialization
6328 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
6330 * sigc++/visit_each.h: BUGFIX in template specialization
6331 limit_derive_target<T_Target*,T_action>::with_type<false,T_type>:
6332 Add non-const overloads for static void execute_() avoiding
6333 compile time errors.
6335 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
6337 Martin Schulze's disonnect changes.
6339 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
6341 Ignore some more auto*-stuff.
6343 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
6345 Ignore new diconnect test executable.
6347 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
6349 Add testcase with a mixed connection & disconnection sequence.
6351 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
6353 Bugfix in signal_base::insert(): Set notification function in the newly created copy of slot_ rather than in slot_ itself.
6355 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
6357 Comment in typedefs for iterator types in the signal#<> class template. Make signal#<>::connect() return an iterator for convenience.
6359 2003-01-23 Murray Cumming <murrayc@usa.net>
6361 sigc++/adaptors/lambda is disable temporarily (not built and not
6363 2003-01-23 Murray Cumming <murrayc@usa.net>
6365 * sigc++/adaptors/lambda is disable temporarily (not built and
6366 not distributed) because it gets built before its parent
6367 directory, but #includes generated sources in the parent directory.
6369 2003-01-22 Murray Cumming <murrayc@usa.net>
6371 Added Andreas Rottman's example.
6373 2003-01-22 Murray Cumming <murrayc@usa.net>
6375 * Added Andreas Rottman's example.
6377 2003-01-22 Murray Cumming <murrayc@usa.net>
6379 Applied Andreas Rottman's make dist fixes.
6381 2003-01-22 Murray Cumming <murrayc@usa.net>
6383 * Applied Andreas Rottman's make dist fixes.
6385 2003-01-22 Murray Cumming <murrayc@src.gnome.org>
6387 Added examples directory
6389 2003-01-15 Murray Cumming <murrayc@src.gnome.org>
6391 Added missing files.
6393 2003-01-14 Murray Cumming <murrayc@usa.net>
6395 Added whitespace to make the code more readable.
6397 2003-01-14 Murray Cumming <murrayc@usa.net>
6399 * Added whitespace to make the code more readable.
6401 2003-01-14 Murray Cumming <murrayc@src.gnome.org>
6405 2003-01-13 Murray Cumming <murrayc@src.gnome.org>
6407 No more use of the scripts directory.
6409 2003-01-13 Murray Cumming <murrayc@src.gnome.org>