UCommon
|
Gaurd class to apply scope based access locking to objects. More...
#include <thread.h>
Public Member Functions | |
gaurd_reader () | |
Create an unitialized instance of gaurd. | |
gaurd_reader (void *object) | |
Construct a gaurd for a specific object. | |
void | operator= (void *pointer) |
Set gaurd to read lock a new object. | |
void | release (void) |
Prematurely release a gaurd. | |
void | set (void *object) |
Set gaurd to mutex lock a new object. | |
~gaurd_reader () | |
Release mutex when gaurd falls out of scope. |
Gaurd class to apply scope based access locking to objects.
The rwlock is located from the rwlock pool rather than contained in the target object, and the read lock is released when the gaurd object falls out of scope. This is essentially an automation mechanism for mutex::reader.
ucc::rwlock::gaurd_reader::gaurd_reader | ( | ) |
Create an unitialized instance of gaurd.
Usually used with a gaurd = operator.
ucc::rwlock::gaurd_reader::gaurd_reader | ( | void * | object | ) |
Construct a gaurd for a specific object.
object | to gaurd. |
void ucc::rwlock::gaurd_reader::operator= | ( | void * | pointer | ) | [inline] |
void ucc::rwlock::gaurd_reader::set | ( | void * | object | ) |
Set gaurd to mutex lock a new object.
If a lock is currently held, it is released.
object | to gaurd. |