libsigc++  2.99.13
About: libsigc++ implements a typesafe callback system for standard C++ (used by gtkmm to wrap the GTK+ signal system). Unstable version.
  Fossies Dox: libsigc++-2.99.13.tar.xz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

libsigc++ Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies
  4. libsigc++-2.99.13.tar.xz contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).
README.md

libsigc++ : The Typesafe Callback Framework for C++

Introduction

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.

See the libsigc++ web site

License

Distribution of library and components is under the LGPL as listed in the file COPYING. Examples and tests are Public Domain.

Compatibility

Compatible compilers must support C++17, such as the decltype(auto) specifier (from C++14) and std::invoke().

Build

Whenever possible, you should use the official binary packages approved by the supplier of your operating system, such as your Linux distribution. For instance, Ubuntu Linux, Debian Linux and Fedora Linux have official libsigc++ packages.

Building from a release tarball

Building from the libsigc++ release tarball is easier than building from git.

For instance:

$ ./configure --prefix=/usr/local
$ make
$ make install

Building from git

Building from git can be difficult so you should prefer building from a release tarball unless you need to work on the libsigc++ code itself.

To build from git you may use either the autotools build (used by most developers) or CMake (should work too).

Building from git with autotools

You must have autotools properly installed (autoconf, automake, etc) and you will also need mm-common.

$ ./autogen.sh --prefix=/usr/local
$ make
$ make check

Building from git with CMake

The CMake build is not used very often by the libsigc++ developers, but it should work, and we would welcome improvements.

For instance:

$ mkdir libsigcplusplus_build
$ cd libsigcplusplus_build
$ cmake path/to/libsigcplusplus
$ make