[sigc] ANNOUNCE: libsigc++ 1.9.15 (aka libsigc++ 2.0 beta 4)
- From: Martin Schulze <martin-ml hippogriff de>
- To: libsigc-list gnome org
- Subject: [sigc] ANNOUNCE: libsigc++ 1.9.15 (aka libsigc++ 2.0 beta 4)
- Date: Sat, 28 Feb 2004 00:22:11 +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++ to achieve a highly flexible, yet
typesafe callback system. It supports the 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 like sigc::hide(): 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; up to 7 arguments can be bound at a time.
* 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.
* Performs only one indirect function call during slot invokation
regardless of the number of adaptors used; the direct function
calls involved are inline and can be optimized away by the compiler.
* Conforms to the STL naming scheme: only uses small letters.
(The compatibility module prevents existing code from being broken.)
*** Prerequisits
Compatible compilers must supports the following recent c++ techniques:
* Partial template (function) specialization.
* Explicit template (member) function instantiation.
* Treat void return as normal return.
*** Changes:
1.9.15:
API additions:
* Added numbered slot# templates.
* Allow for methods of the object's base types to be passed into sigc::
mem_fun().
Other fixes and cleanups:
* Made 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. Made some more ctors explicit.
*** Download:
libsigc++ is available for download here:
http://libsigc.sourceforge.net/
A reference documentation for libsigc++ 2.0 can be found here:
http://libsigc.sourceforge.net/libsigc2/docs/
*** Known issues:
* This release has only been tested with gcc-3.3.3. It should
at least also compile with:
- gcc >= 3.2
- cygwin (gcc >= 3.2)
- mingw32
- 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 compiler that is not listed above.
* When the compatibility module is used with "using namespace SigC",
gcc-3.2 reports conflicts of SigC::slot() with struct sigc::slot.
A fishy work-around has been disabled to support the .Net compiler.
* Most adaptors are not documented, yet.
* Examples for the "API improvements" section must be written and
uploaded to the web site.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]