A kind of smart pointer object to support shared locking protocol.
More...
#include <access.h>
|
void | exclusive (void) |
| Call exclusive access on referenced objects protocol.
|
|
| operator bool () const |
| Test if the reference holds an active lock.
|
|
bool | operator! () const |
| Test if the reference holds an active lock.
|
|
shared_access & | operator= (const shared_access ©) |
|
void | release (void) |
| Release a held lock programmatically.
|
|
void | share (void) |
| Restore shared access on referenced objects protocol.
|
|
| shared_access (const shared_access ©) |
|
| shared_access (SharedProtocol *object) |
| Create an instance of an exclusive object reference.
|
|
| ~shared_access () |
| Destroy reference to shared locked object, release lock.
|
|
A kind of smart pointer object to support shared locking protocol.
This object initiates a shared lock for the object being referenced when it is instantiated, and releases the shared lock when it is destroyed. You would pass the pointer an object that has the Shared as a base class.
- Author
- David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Definition at line 224 of file access.h.
◆ shared_access()
Create an instance of an exclusive object reference.
- Parameters
-
object | containing Exclusive base class protocol to lock. |
◆ operator bool()
ucommon::shared_access::operator bool |
( |
| ) |
const |
|
inline |
Test if the reference holds an active lock.
- Returns
- true if locking an object.
Definition at line 259 of file access.h.
◆ operator!()
bool ucommon::shared_access::operator! |
( |
| ) |
const |
|
inline |
Test if the reference holds an active lock.
- Returns
- true if is not locking an object.
Definition at line 251 of file access.h.
◆ release()
void ucommon::shared_access::release |
( |
void | | ) |
|
Release a held lock programmatically.
This can be used to de-reference the object being share locked without having to wait for the destructor to be called when the shared_lock falls out of scope.
The documentation for this class was generated from the following file:
- /builddir/build/BUILD/ucommon-7.0.0-build/ucommon-7.0.0/inc/ucommon/access.h