[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ITP/RFP: libsigc++ (as libsigcpp)...

Actually, deep down this is more a RFP, but I'm willing to do it
myself to see it happen. :-) I need this library to package the
Quasimodo modular, extensible, real-time audio/MIDI Environment for
POSIX-ish Operating Systems.


This library implements a full callback system for use in widget
libraries, abstract interfaces, and general programming. Originally
part of the Gtk-- widget set, libsigc++ is now a seperate library to
provide for more general use. It is the most complete library of its
kind with the ablity to connect an abstract callback to a class
method, function, or function object. It contains adaptor classes for
connection of dissimilar callbacks and has an ease of use unmatched by
other C++ callback libraries. Libsigc++ is licensed under the LGPL.


  * Compile time typesafe callbacks (faster than run time checks)

  * Typesaftey violations reports line number correctly with template
    names (no tracing template failures into headers)

  * No compiler extensions or meta compilers required

  * Proper handling of dynamic objects and signals (deleted objects
    will not cause seg faults)

  * Extendable API at any level Slot, Connection, Object, and Signal 

  * Extensions do not require alteration of basic components to allow
    use of extensions

  * User definable marshallers 

  * Provides headers for up to 7 arguments and 2 callback data 

  * M4 Macros for building templates with various numbers of
    arguements and callback data

  * Easily build support for templates with number of arguments and
    callback data not defined in library headers

  * Now supports gcc 2.8.0, egcs all versions, HP aCC A.01.22, Irix
    MipsPro 7.3, and Visual C++ 5.0.


The original library was composed by Tero Pulkkinen for the Gtk--
system, a C++ wrapper for the Gtk+ widget set. The revised library is
written and mantained by Karl Nelson. Special thanks for Esa Pulkkinen
for development tips.

Reply to: