[sigc] ANNOUNCE: libsigc++ 1.9.12 (aka libsigc++ 2.0 beta 1)
- From: Martin Schulze <martin-ml hippogriff de>
- To: libsigc-list gnome org
- Subject: [sigc] ANNOUNCE: libsigc++ 1.9.12 (aka libsigc++ 2.0 beta 1)
- Date: Tue, 4 Nov 2003 21:18:44 +0100
*** libsigc++ 2.0 (beta)
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. The old API
is preserved by means of a deprecated compatibility module.
In particular the API improvements from libsigc++ 1.2 to 2.0 include:
* Provides unnumbered signal and slot templates.
* Supports arbitrary functor types.
* Supports implicit argument type conversions on signal emission.
* Adds support for overloaded functions.
* Borrows powerful accumulator interface from boost::signal.
* Simplifies use of adaptors: argument types need not be specified any
more (except for sigc::retype_return()).
* More powerful adaptors: position of arguments to hide or bind can
be chosen freely.
* Adds two useful adaptors: sigc::compose(), sigc::exception_catch().
* Adds all-in-one operator sigc::group() with support for lambdas
featuring a complete set of lambda selectors and lambda operators.
* Highly optimizable: performs only one indirect function call during
slot invokation independant of the number of adaptors used.
* Conforms to the STL naming scheme: only uses small letters.
Compatible compilers must supports the following recent c++ techniques:
* Partial template (function) specialization.
* Arithmetics in template arguments.
* Explicit template (member) function instantiation.
* Treat void return as normal return.
This is the first beta release of libsigc++ 2.0. No more API additions
should be made. Future work concentrates on supporting more compilers,
bug hunting and finishing the documentation. Changes in this release:
* 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 .m4 files for ptr_fun() and mem_fun().
* Restructured and completed documentation of the core library parts.
libsigc++ is available for download here:
A reference documentation for libsigc++ 2.0 can be found here:
*** Known issues:
* This release has only been tested with gcc-3.2. It should also
- gcc-3.3, gcc-3.3.x
- cygwin (gcc >= 3.2)
- Microsoft Visual Studio .Net 2003
- Sun Forte C++ compiler
Please report any troubles you encounter with these compilers!
You are also invited to try a different compiler.
* When the compatibility module is used with "using namespace SigC",
gcc-3.2 reports conflicts of SigC::slot() with struct sigc::slot.
A hackish work-around has been disabled to support the .Net compiler.
* Adaptors are not documented, yet.
] [Thread Prev