sigslot alternatives and similar libraries
Based on the "Miscellaneous" category.
Alternatively, view sigslot alternatives based on common mentions on social networks and blogs.
-
RE2
RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library. -
UNITS
a compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies. -
cxx-prettyprint
A header-only library for C++(0x) that allows automagic pretty-printing of any container. -
#<Sawyer::Resource:0x00007f0922b58ba0>
Modern documentation for modern C++. Configure with YAML, output Markdown, post-process with Material for MkDocs.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of sigslot or a related project?
Popular Comparisons
README
sigslot
C++11 signal/slot implementation
Requirements
- c++11
How to use
For a code sample, see test.cpp
class Emitter
{
public:
Signal<int> the_signal;
void do_emit(int value)
{
the_signal.emit(value);
}
};
The only thing required for a class to emit signals, is to declare a field of the Signal<> type. The template arguments will be the parameter types of the slots to be bound to the signal.
class Receiver: public Object
{
public:
void slot(int v)
{
cout << "Yay! " << v << endl;
}
};
The only thing required for a class to be able to bind to signals, is for it to derive from Object. After that, every method of the object can be bound to signals.
int main(int argc, char* argv[])
{
// Create both an emitting and receiving instance
Emitter em;
Receiver recv;
// Bind the slot to the signal
em.the_signal.bind(&Receiver::slot, &recv);
// Emit
em.do_emit(42);
return EXIT_SUCCESS;
}
Here we instantiate both classes, bind the signal and emit it.
Donations
Like it?
If you find this useful, please consider donating to BTC: 1Pck5gui4iXhTQUiUc3qFD7uPbj1cn5ZSB