Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. libsigc++

libsigc++

LGPL-3.0C++3.8.1

A typesafe callback framework for C++ that implements a signal/slot system for connecting signals to any callback function.

Visit WebsiteGitHubGitHub
453 stars92 forks0 contributors

What is libsigc++?

libsigc++ is a C++ library that implements a typesafe callback framework, enabling developers to create signals and connect them to various callback functions. It solves the problem of managing event-driven interactions in C++ applications by providing a compile-time checked, flexible signal/slot system. Originally developed for gtkmm, it is now a standalone library used in diverse C++ projects.

Target Audience

C++ developers building event-driven applications, especially those using GUI toolkits like GTK via gtkmm, or anyone needing a robust callback mechanism in modern C++.

Value Proposition

Developers choose libsigc++ for its strict type safety, which eliminates common callback-related runtime errors, and its versatility in connecting to any function type without external dependencies.

Overview

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.

Use Cases

Best For

  • Implementing event-driven architectures in C++ applications
  • Wrapping GUI signal systems like GTK in C++ bindings
  • Building typesafe callback systems for plugin architectures
  • Creating publish-subscribe patterns in modern C++ codebases
  • Developing C++ libraries that require flexible signal handling
  • Ensuring compile-time safety for callback connections in C++17+ projects

Not Ideal For

  • Projects stuck on C++ standards older than C++17
  • Teams seeking a header-only callback library for minimal footprint and quick integration
  • Environments where complex build systems (Meson/Autotools) are not supported or preferred
  • Applications that only need simple, single-callback mechanisms without full signal/slot machinery

Pros & Cons

Pros

Compile-Time Type Safety

Ensures all signal connections are type-checked at compile time, preventing common runtime errors in callback systems, as emphasized in the README's key features.

Flexible Callback Connections

Supports connections to global functions, member functions (static or virtual), and functors, providing versatility for event-driven architectures without framework dependencies.

Modern C++ Compliance

Requires C++17, utilizing features like decltype(auto) and std::invoke for efficient, standards-compliant implementation, as stated in the compatibility section.

Parallel-Installable ABIs

Offers sigc++-2.0 and sigc++-3.0 as separate ABIs, allowing coexistence for compatibility with different project versions, a unique feature highlighted in the description.

Cons

Complex Build Process

Building from source involves navigating multiple systems (Meson, Autotools, CMake) and dependencies like mm-common for git clones, as detailed in the README, which can be error-prone and time-consuming.

C++17 Mandate

Limited to compilers supporting C++17, excluding projects on older toolchains or embedded systems with constrained compilers, a restriction admitted in the compatibility notes.

Documentation Build Dependencies

Rebuilding reference documentation requires external tools like Doxygen and DocBook, adding overhead for developers who need offline or custom docs, as mentioned in the building section.

Frequently Asked Questions

Quick Stats

Stars453
Forks92
Contributors0
Open Issues2
Last commit17 days ago
CreatedSince 2018

Tags

#event-driven#typesafe#library#callback-system#cplusplus-17#template-metaprogramming#cplusplus#signal-slot

Built With

A
Autotools
D
DocBook
D
Doxygen
M
Meson
C
C++

Links & Resources

Website

Included in

C/C++70.6k
Auto-fetched 1 day ago

Related Projects

stbstb

stb single-file public domain libraries for C/C++

Stars34,453
Forks8,075
Last commit20 days ago
{fmt}{fmt}

A modern formatting library

Stars23,751
Forks2,951
Last commit5 days ago
xxHashxxHash

Extremely fast non-cryptographic hash algorithm

Stars11,212
Forks913
Last commit25 days ago
single_file_libssingle_file_libs

List of single-file C/C++ libraries, with emphasis on clause-less licenses.

Stars9,983
Forks651
Last commit3 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub