libsigc++: libsigc++ Reference Manual | Latest TMZ Celebrity News & Gossip | Watch TMZ Live
libsigc++ 3.6.0
libsigc++ Reference Manual

Description

libsigc++ provides a typesafe (at compile time) callback system for standard C++. It allows you to define signals and to connect those signals to any callback function, either a global or a member function, regardless of whether it is static or virtual. It also contains adaptor classes for connection of dissimilar callbacks.

For instance, see the Signals, Functors, Slots and Adaptors.

See also the libsigc++ tutorial, the libsigc++ website, and the Signals appendix of the Programming with gtkmm book.

Features

  • Compile-time typesafe callbacks (also faster than run time checks)
  • Type-safety violations report the 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 crashes)
  • Extendable API at any level: signal, slot, connection and trackable
  • Extensions do not require alteration of basic components
  • User-definable accumulators
  • A variety of adaptors to change the callback signature: bind, hide, retype, and compose

Basic Usage

Include the libsigc++ header:

#include <sigc++/sigc++.h>

(You may include individual headers, such as sigc++/bind.h instead.)

If your source file is program.cc, you can compile it with:

g++ program.cc -o program `pkg-config --cflags --libs sigc++-3.0`
The libsigc++ namespace.
Definition connection.h:25

If your version of g++ is not C++17-compliant by default, add the -std=c++17 option.

Using Meson

If using Meson, include the following in meson.build:

sigc_dep = dependency('sigc++-3.0')
program_name = 'program'
cpp_sources = [ 'program.cc' ]
executable(program_name,
cpp_sources,
dependencies: sigc_dep
)

Your dependencies: keyword argument should also mention any other libraries that you need to use.

Using Autotools

Alternatively, if using autoconf, use the following in configure.ac:

PKG_CHECK_MODULES([DEPS], [sigc++-3.0])

Then use the generated DEPS_CFLAGS and DEPS_LIBS variables in the project Makefile.am files. For example:

yourprogram_CPPFLAGS = $(DEPS_CFLAGS)
yourprogram_LDADD = $(DEPS_LIBS)

Your PKG_CHECK_MODULES() call should also mention any other libraries that you need to use via pkg-config.

Using CMake

If using CMake, use the following in CMakeList.txt:

include(FindPkgConfig)
pkg_check_modules(DEPS REQUIRED sigc++-3.0)
include_directories(${DEPS_INCLUDE_DIRS})
target_link_libraries(yourprogram ${DEPS_LIBRARIES})

Your pkg_check_modules() call should also mention any other libraries that you need to use via pkg-config.

TMZ Celebrity News – Breaking Stories, Videos & Gossip

Looking for the latest TMZ celebrity news? You've come to the right place. From shocking Hollywood scandals to exclusive videos, TMZ delivers it all in real time.

Whether it’s a red carpet slip-up, a viral paparazzi moment, or a legal drama involving your favorite stars, TMZ news is always first to break the story. Stay in the loop with daily updates, insider tips, and jaw-dropping photos.

🎥 Watch TMZ Live

TMZ Live brings you daily celebrity news and interviews straight from the TMZ newsroom. Don’t miss a beat—watch now and see what’s trending in Hollywood.