A mutex locked object smart pointer helper class.
More...
#include <thread.h>
Public Member Functions |
| auto_protect (void *object) |
| Construct a protected pointer referencing an existing object.
|
| operator bool () |
| Test if the pointer is referencing an object.
|
bool | operator! () |
| Test if the pointer is not set.
|
void | operator= (void *object) |
| Set our pointer to a specific object.
|
void | release (void) |
| Manually release the pointer.
|
| ~auto_protect () |
| Delete protected pointer.
|
Protected Attributes |
void * | object |
Detailed Description
A mutex locked object smart pointer helper class.
This is particularly useful in referencing objects which will be protected by the mutex protect function. When the pointer falls out of scope, the protecting mutex is also released. This is meant to be used by the typed mutex_pointer template.
- Author
- David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Definition at line 1305 of file thread.h.
Constructor & Destructor Documentation
ucommon::auto_protect::auto_protect |
( |
void * |
object | ) |
|
Construct a protected pointer referencing an existing object.
- Parameters
-
ucommon::auto_protect::~auto_protect |
( |
| ) |
|
Delete protected pointer.
When it falls out of scope the associated mutex is released.
Member Function Documentation
ucommon::auto_protect::operator bool |
( |
| ) |
|
|
inline |
Test if the pointer is referencing an object.
- Returns
- true if the pointer is currently referencing an object.
Definition at line 1345 of file thread.h.
bool ucommon::auto_protect::operator! |
( |
| ) |
|
|
inline |
Test if the pointer is not set.
- Returns
- true if the pointer is not referencing anything.
Definition at line 1338 of file thread.h.
void ucommon::auto_protect::operator= |
( |
void * |
object | ) |
|
Set our pointer to a specific object.
If the pointer currently references another object, the associated mutex is released. The pointer references our new object and that new object is locked.
- Parameters
-
void ucommon::auto_protect::release |
( |
void |
| ) |
|
Manually release the pointer.
This releases the mutex.
The documentation for this class was generated from the following file: