Introduction to Rocket
masterRocket is a high-performance, single-header C++ signal/slots library (Observer Pattern). It is designed to be a lightweight, dependency-free alternative to boost::signals2.
Key features include:
- Efficiency: Minimal overhead, avoids cache-unfriendly virtual calls where possible, and does not allocate during signal emission.
- Thread Safety Options: Provides both
rocket::signal(thread-unsafe, optimized for single-threaded use) androcket::thread_safe_signal(thread-safe). - Reentrancy: Signals can be recursively emitted, and slots can disconnect themselves during emission.
- Modern C++: Single-header implementation with no external dependencies.
- Advanced Features: Support for
scoped_connection, automatic lifetime tracking viarocket::trackable, Qt-stylequeued_connection, and signal emission abortion.