UCommon
|
An exclusive locking access interface base. More...
#include <access.h>
Data Structures | |
class | Locking |
A kind of smart pointer object to support shared locking protocol. More... | |
Public Member Functions | |
virtual void | exclusive (void) |
Convert object to an exclusive lock. | |
virtual void | share (void) |
Share the lock with other referencers. | |
Protected Member Functions | |
virtual void | _share (void)=0 |
Access interface to share lock the object. | |
virtual void | _unshare (void)=0 |
An exclusive locking access interface base.
This is an abstract class to form objects that will operate under an exclusive lock while being actively referenced by a smart pointer.
|
protectedpure virtual |
Access interface to share lock the object.
Implemented in ucommon::ConditionalLock, ucommon::RWLock, and ucommon::Semaphore.
|
virtual |
Convert object to an exclusive lock.
Many of our shared locking objects such as the "conditional lock" support the ability to switch between shared and exclusive locking modes. This derived protocol member allows one to temporarily assert exclusive locking when tied to such methods.
Reimplemented in ucommon::ConditionalLock.
|
virtual |
Share the lock with other referencers.
Many of our shared locking objects support the ability to switch between shared and exclusive mode. This derived protocol member allows one to restore the lock to shared mode after it has been made exclusive.
Reimplemented in ucommon::ConditionalLock.