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.
Declared in <bslmt_readlockguard.h>
explicit
ReadLockGuard(T* lock);