Base class for guard classes that acquire their resource upon creation and release it upon destruction. More...
#include <rw/sync/RWTLockGuardBase.h>
Public Member Functions | |
~RWTLockGuardBase () | |
Public Member Functions inherited from RWTGuardBase< Resource > | |
~RWTGuardBase () | |
void | acquire () |
bool | isAcquired () const |
void | release () |
Protected Member Functions | |
RWTLockGuardBase (Resource &resource) | |
RWTLockGuardBase (Resource &resource, bool acquired) | |
Protected Member Functions inherited from RWTGuardBase< Resource > | |
RWTGuardBase (Resource &resource) | |
RWTGuardBase (Resource &resource, bool acquired) | |
Resource & | resource () const |
Private Member Functions | |
RWTLockGuardBase (const RWTLockGuardBase< Resource > &second) | |
RWTLockGuardBase< Resource > & | operator= (const RWTLockGuardBase< Resource > &second) |
RWTLockGuardBase is a base class for guard classes that acquire their resource upon creation and release it upon destruction. Guard objects work in conjunction with block statements to establish an appropriate state upon creation, maintain that state for the duration of the block, and restore the original state upon destruction. For example, a guard may acquire a mutex upon creation and release it when destructed. The class used as the actual template parameter for Resource
must be one that provides acquire()
and release()
methods, such as the synchronization classes of the Threads Module.
|
inline |
Releases the resource if it has been acquired.
|
inlineprotected |
Constructs a guard instance with the given resource. Note that this constructor does not attempt to acquire the resource. That is the responsibility of the derived class.
|
inlineprotected |
Constructs a guard instance with the given resource. If acquired is true
, the resource is assumed to be owned by the caller. Note that this constructor does not attempt to acquire the resource. That is the responsibility of the derived class.
|
private |
Copy constructor prohibited.
|
private |
Assignment prohibited.
Copyright © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |