The guard classes are a family of helper classes commonly used to manipulate synchronization objects.
As explained in
Using Guards , the guard classes use the “resource acquisition is initialization” idiom. The
RWTLockGuard template class uses this idiom for automatic acquisition and release of synchronization resources. The lock guard constructor calls an
acquire() member provided by the synchronization resource. The lock guard destructor calls the
release() member of an acquired resource.