Detailed Description

This class provides tracking of EmitterArg and SafeEmitterArg connections. It should be a public member of any target class which wants functors representing any of its methods to be disconnected automatically from an EmitterArg or SafeEmitterArg object when the target class object is destroyed, and is passed as one of the arguments to the connect() method of EmitterArg or SafeEmitterArg.

This constructor might throw Thread::MutexError if initialisation of the contained mutex fails. (It is often not worth checking for this, as it means either memory is exhausted or pthread has run out of other resources to create new mutexes.)

Cgu::Releaser::Releaser

(

)

default

Exceptions

std::bad_alloc

The default constructor might throw std::bad_alloc if memory is exhausted and the system throws in that case.

The default constructor might throw Thread::MutexError if initialisation of the contained mutex fails. (It is often not worth checking for this, as it means either memory is exhausted or pthread has run out of other resources to create new mutexes.)

Cgu::Releaser::~Releaser

(

)

The destructor does not throw provided that the destructors of any bound arguments of a functor managed by this Releaser object do not throw (as they should not do), and assuming that merely iterating through an unordered_set does not throw (as it would not on any sane implementation).

Member Function Documentation

See notes on assignment to see how this operates. This does not throw provided that the destructors of any bound arguments of a functor managed by this Releaser object prior to assignment do not throw (as they should not do), and assuming that merely iterating through a list does not throw (as it would not on any sane implementation).