Paul Davis
449aab3c46
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf
233 lines
9.2 KiB
Plaintext
233 lines
9.2 KiB
Plaintext
*** libsigc++ 2.0:
|
|
|
|
libsigc++ implements a typesafe callback system for standard C++. It
|
|
allows you to define signals and to connect those signals to any
|
|
callback function, either global or a member function, regardless of
|
|
whether it is static or virtual.
|
|
|
|
libsigc++ is used by gtkmm to wrap the GTK+ signal system. It does not depend
|
|
on GTK or gtkmm.
|
|
|
|
libsigc++ 2.0 uses modern C++ mechanisms to achieve a highly flexible,
|
|
yet typesafe callback system. It supports all features of libsigc++ 1.2
|
|
and improves upon it with a simpler and more powerful API.
|
|
|
|
This version of libsigc++ needs GNU g++ 3.2 or higher to compile.
|
|
|
|
|
|
*** ChangeLog summary:
|
|
|
|
2.0.6:
|
|
|
|
* Fixed a memory leak in sigc::slot.
|
|
* Fixed compilation for gcc-3.4.
|
|
* Fixed compilation for Intel C++ compiler (upgraded libtool).
|
|
* Fixed project files for MSVC .Net (Timothy M. Shead).
|
|
* Fixed segfaults when compiled with MSVC .Net 2003 (moved
|
|
all calls to new and delete into non-inline library code).
|
|
* In the compatibility module use correct bound_mem_functor
|
|
variants for const (volatile) methods when creating a slot.
|
|
* Minor documentation fix.
|
|
* Resolved bugs: #152327 #148744 #152323 #151404 #153143
|
|
|
|
2.0.5:
|
|
|
|
* Distribute pregenerated configuration header for MSVC .Net.
|
|
|
|
2.0.4:
|
|
|
|
* Fixed warnings and compiler errors in the test cases.
|
|
* Added a new test case (Murray Cumming).
|
|
* Fixed 'hello_world' example.
|
|
* Don't test optional features that fail with the Sun FORTE.
|
|
* Fixes for the Sun FORTE to compile out-of-the-box
|
|
(Damien Carbery, Murray Cumming, Martin Schulze).
|
|
* Fixes for MSVC to build a DLL out-of-the-box (James Lin).
|
|
* Improved compiler specific configuration during 'configure'.
|
|
* Added rmp description file libsigc++-2.0.spec (Eric Bourque).
|
|
* Minor documentation improvements (Murray Cumming).
|
|
* Resolved bugs: #147311 #147313 #147391 #144846 #145541
|
|
|
|
2.0.3:
|
|
|
|
* Fix segfault on emission of unconnected signal.
|
|
* Test emission of unconnected signals in the test case.
|
|
* Suppress compiler warning at dynamic_cast<>-test for good.
|
|
(Help from Christof Petig and Timothy M. Shead.)
|
|
|
|
2.0.2:
|
|
|
|
* Suppress compiler warning in compatibility module at
|
|
dynamic_cast<>-test (fix suggested by Timothy M. Shead).
|
|
* If a custom accumulator is specified invoke it on signal
|
|
emission even if the signal's slot list is empty. (This used
|
|
to be the case in libsigc++-1.2 as pointed out by Timothy.)
|
|
|
|
2.0.1:
|
|
|
|
* Fixed serious bug in reference counting in sigc::signal_base::impl().
|
|
* Fixed SigC::Object-derivation check in SigC::slot() compatibility module.
|
|
* Fixed compilation on Apple gcc 3.3 (assisted by Spundun Bhatt).
|
|
* Fixed configure check for gcc 3.4 (Murray Cumming).
|
|
|
|
2.0.0:
|
|
|
|
* Implemented sigc::connection::blocked() (Murray Cumming).
|
|
* Added the scripts directory to the make dist target (Murray Cumming).
|
|
* Added more documentation (Martin Schulze).
|
|
|
|
1.9.16:
|
|
|
|
* Fixed compiler warning in sigc::connection (Alexander Nedotsukov, Murray Cumming).
|
|
* Fixed examples and made them part of the regular build (Murray Cumming).
|
|
* Added header sigc++config.h for configure time checks (Murray Cumming).
|
|
* Added configure time checks to determine the correct syntax
|
|
for explicit template method specializations (Murray Cumming).
|
|
* Removed code using partial specializations of overloaded template methods
|
|
from test cases. SUN Forte doesn't support this feature (Martin Schulze).
|
|
* Fixed compilation for gcc 3.4 (Murray Cumming).
|
|
|
|
1.9.15:
|
|
|
|
API additions:
|
|
* Add numbered slot# templates.
|
|
* Allow for methods of the object's base types to be passed into sigc::mem_fun().
|
|
|
|
Other fixes and cleanups:
|
|
* Make is_base_and_derived template compatible with the SUN Forte.
|
|
* Non-template code moved from .m4 macro source to .h/.cc files (Murray Cumming).
|
|
* Implementation moved to .cc files (Murray Cumming).
|
|
* More fixes for the SUN Forte. Make some more ctors explicit.
|
|
|
|
1.9.14:
|
|
|
|
* Added sigc::slot_base::operator bool() (Murray Cumming).
|
|
* Build docs directory by default (Murray Cumming).
|
|
* Fixed minor doxygen issues (Murray Cumming).
|
|
* Fixed compiler warning in signal.h (Murray Cumming).
|
|
|
|
1.9.13:
|
|
|
|
* Fixed passing references through sigc::slot (Reported by Jeff Franks).
|
|
* Enabled binding of objects to method slots through sigc::bind().
|
|
* Reworked sigc::bind() API: Made the template argument for the
|
|
parameter position zero-based and optional. Added overloads for
|
|
binding of up to 7 arguments at a time when no position is specified.
|
|
* Reworked sigc::hide() API: Made the template argument for the
|
|
parameter position zero-based and optional.
|
|
* Fixed compilation problems with MSVC .Net 2003 (Roel Vanhout).
|
|
* Distribute MSVC .Net 2003 project files in the tarballs.
|
|
* Improved and extended documentation.
|
|
* Minor cleanups.
|
|
|
|
1.9.12:
|
|
|
|
* Added adaptor retype(). With this final API addition all adaptors
|
|
are in place that are available in libsigc++-1.2.
|
|
* Added negation lambda operator. Use STL names for lambda actions.
|
|
* Remove formerly disabled support for gcc extension typeof().
|
|
* Added project files for MS Visual Studio .Net 2003. (Roel Vanhout)
|
|
* Make libsigc++2 compile with .Net 2003. (Roel Vanhout, Martin Schulze)
|
|
* Build shared version of libsigc++2 by default. (Cedric Gustin)
|
|
* Add support for win32 platform. (Cedric Gustin)
|
|
* Install .m4 files. (requested by Ron Steinke)
|
|
* Cleaned up functors.
|
|
* Restructured and completed documentation of the core library parts.
|
|
|
|
1.9.11:
|
|
|
|
API Additions and important bug fixes:
|
|
* Compatibility module completed. libsigc++-1.2 filenames are preserved.
|
|
* Fixed critical bug in auto-disconnection: don't defer detaching
|
|
of a slot from all referred trackables during signal emission.
|
|
* Reduced size of slots significantly.
|
|
* Fixed support for sigc::ref() in adaptors.
|
|
* Fixed sigc::visit_each(): only hit targets that are passed by
|
|
reference; pass bound members in bound_member_functor by reference.
|
|
* Add lambda actions sigc::{reinterpret,static,dynamic}_cast_
|
|
to support explicit parameter conversion.
|
|
* Add adaptors sigc::retype_return<>() and sigc::hide_return().
|
|
|
|
Minor fixes:
|
|
* Fixed return type deduction for bind<0>.
|
|
libsigc++-1.9.11 should compile with gcc-3.3.
|
|
* Fixed copy constructor and operator=() of slot template.
|
|
* Fixed a compiler warning in signal_emit#<>::emit().
|
|
* Improved test case.
|
|
|
|
1.9.10:
|
|
|
|
* Fix compiler issues with gcc-3.3.2 (patch from Jeff Franks).
|
|
* Remove compiler check for the gcc extension typeof().
|
|
* Simplify bind_functor templates.
|
|
* Move definition of struct nil into functor_trait.h.
|
|
|
|
1.9.9:
|
|
|
|
* Add a constructor to sigc::connection that takes a slot_base&
|
|
to support user defined slot lists like they are used in gtkmm.
|
|
* Fix compiler issues with gcc-3.3.2 (reported by Jeff Franks).
|
|
|
|
1.9.8:
|
|
|
|
* Add compatibility module that defines namespace SigC.
|
|
namespace SigC should be API compatible to libsigc++-1.2.
|
|
Currently only the core parts of the library are supported.
|
|
Adaptors are still to follow.
|
|
* Fix connection::operator=(). Include connection.h in sigc++.h.
|
|
* Get rid of namespace functor.
|
|
* Rename dependency to destroy_notify_callback.
|
|
* Rename trackable::clear() to trackable::notify_callbacks().
|
|
* Move slot_base, signal_base, slot_iterator[_buf], slot_list
|
|
out of namespace internal. They are public API.
|
|
* Add reference counter to signal_impl enabling signals
|
|
to share the underlying information.
|
|
* Add convenience function signal#::make_slot().
|
|
* Get rid of one-letter-parameter-names.
|
|
* Get rid of "using namespace ..." in the test cases.
|
|
* Add lambda operators subscript ([]) and assign (=).
|
|
* Fix is_base_and_derived<> for const types.
|
|
* New and updated documentation.
|
|
* Add previous announces to file NEWS.
|
|
|
|
1.9.7:
|
|
|
|
* Added sigc++/sigc++.h. (Murray Cumming)
|
|
* Added member_method example. (Murray Cumming)
|
|
* Renamed closure to slot.
|
|
* Fixed issues with gcc-3.3. (Adreas Rottmann)
|
|
* Removed unnecessary void specializations.
|
|
* Made adaptors' operator()() (overload with no arguments) return a value.
|
|
* Made visit_each() support adaptors.
|
|
* Overhauled return type deduction to make it work without typeof().
|
|
* Added convinience macros SIGC_FUNCTORS_HAVE_RESULT_TYPE and
|
|
SIGC_FUNCTOR_TRAIT(T_functor, T_result) to make return type deduction system
|
|
support 3rd-party funtors.
|
|
* Changed syntax of group adaptor from "[functor] % grp([lambdas])" to "group
|
|
([functor], [lambdas])".
|
|
* Made many fixes to lambda functionality.
|
|
* Added var() and constant() lambda creators.
|
|
* Added many lambda operators.
|
|
* Added ref() which creates a reference wrapper to enable storage of
|
|
references in bind and group adaptors.
|
|
* Expanded test suite.
|
|
* Added documentation. (Corrections by Murray Cumming)
|
|
|
|
1.9.6:
|
|
|
|
* First public release of the unstable 2.0 generation.
|
|
libsigc++ 2.0 uses modern C++ mechanisms to achieve a highly
|
|
flexible, yet typesafe callback system. It supports all features of
|
|
libsigc++ 1.2 and improves upon it by:
|
|
- No need to specify the number of arguments in signal definitions.
|
|
- Connection of any compatible (=implicitly convertable) functor
|
|
to a signal.
|
|
- Implicit type conversions of parameters during signal emission.
|
|
- Lambda adaptor for complete restructuring of functor parameter
|
|
lists in one line (subject to changes).
|
|
- Signal has a fully featured stl style list interface.
|
|
- A convinient accumulator API (replacing the old marshaller API).
|
|
- Removal of unnecessary memory management functionality.
|
|
- Lightweight class "trackable" for use as base class of your
|
|
class hierarchy replaces class "Object".
|