(C++) BoostSignals2Example4
February 24, 2017 · View on GitHub
(C++) BoostSignals2Example4



Boost.Signals2 example 4 is a Boost.Signals2 example.
Technical facts
Operating system(s) or programming environment(s)
Lubuntu 15.04 (vivid)
Qt Creator 3.1.1
- G++ 4.9.2
Libraries used:
STL: GNU ISO C++ Library, version
4.9.2
Qt project file: ./CppBoostSignals2Example4/CppBoostSignals2Example4.pro
include(../../ConsoleApplication.pri) include(../../Libraries/Boost.pri) SOURCES += main.cpp
./CppBoostSignals2Example4/main.cpp
#include <cassert> #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Weffc++" #pragma GCC diagnostic ignored "-Wunused-local-typedefs" #pragma GCC diagnostic ignored "-Wunused-but-set-parameter" #include <boost/signals2.hpp> #pragma GCC diagnostic pop void EmptySlot() {} int main() { boost::signals2::signal<void()> signal; //A signal is connected to no slots assert(signal.num_slots() == 0); signal.connect(EmptySlot); //Adding a slot increases num_slots assert(signal.num_slots() == 1); signal.connect(EmptySlot); //Adding the same slot again increases num_slots assert(signal.num_slots() == 2); //Disconnect that slot removes both connections signal.disconnect(EmptySlot); assert(signal.num_slots() == 0); }