Frequently Asked QuestionsDon't noncopyable signal semantics mean that a class
with a signal member will be noncopyable as well?No. The compiler will not be able to generate a copy
constructor or copy assignment operator for your class if it
has a signal as a member, but you are free to write your own
copy constructor and/or copy assignment operator. Just don't
try to copy the signal.Is Boost.Signals2 thread-safe?
Yes, as long as the Mutex template parameter is not set to
a fake mutex type like boost::signals2::dummy_mutex.
Also, if your slots depend on objects which may be destroyed concurrently
with signal invocation, you will need to use automatic connection management.
That is, the objects will need to be owned by
shared_ptr and passed to the slot's
track() method before the slot is connected.
The signals2::trackable scheme of automatic connection management
is NOT thread-safe, and is only provided to ease porting of single-threaded
code from Boost.Signals to Boost.Signals2.
See the documentation section on thread-safety
for more information.