BloombergLP::bslmt::TestUtil_Guard

This class defines an object that provides exclusive access to the critical sections defined by this component's macros.

Synopsis

Declared in <bslmt_testutil.h>

class TestUtil_Guard;

Description

Multiple Guard objects can exist at once, but only in the same thread -- if an attempt is made to construct a Guard while any Guards exist in other threads, the constructor will block until all Guard objects in other threads are destroyed. The behavior is undefined if a Guard object is anywhere but on the stack.

Type Aliases

NameDescription
BoolType Type used to provide a testable bool conversion for this object.

Member Functions

NameDescription
TestUtil_Guard [constructor]Create a guard that locks the mutex in the singleton and saves the address of the singleton mutex.
~TestUtil_Guard [destructor]Unlock the recursive mutex that was locked by the constructor.
operator= Set the boolean state of this object to the specified rhs.
operator TestUtil_Guard::BoolType Return the boolean state of this TestUtil_Guard object.