Constructors

Synopses

Declared in <bslmt_readlockguard.h>

Create a scoped guard that conditionally manages the specified lock (if non‐null) and invokes lock‐>lockRead(). Supplying a null lock has no effect. The behavior is undefined unless lock (if non‐null) is not already locked by this thread. Note that lock must remain valid throughout the lifetime of this guard, or until release is called.

explicit
ReadLockGuard(T* lock);

Create a scoped guard that conditionally manages the specified lock (if non‐null) and invokes lock‐>lockRead() if the specified alreadyLockedFlag is false. Supplying a null lock has no effect. The behavior is undefined unless the state of lock (if non‐null) is consistent with alreadyLockedFlag. Note that alreadyLockedFlag is used to indicate whether lock is in an already‐locked state when passed, so if alreadyLockedFlag is true the lock method will not be called on the supplied lock. Also note that lock must remain valid throughout the lifetime of this guard, or until release is called.

ReadLockGuard(
    T* lock,
    bool alreadyLockedFlag);

Created with MrDocs