The Guard Class Hierarchy
To simplify the acquisition and release of synchronization resources and to make these operations safe in the presence of exceptions, the Synchronization package has a set of helper classes called guards. They are shown in Figure 22.
Guards are used for exception-safe mutex acquisition and release.
Figure 22 – Guard class hierarchy