UCommon
|
Auto-pointer support class for shared singleton objects. More...
#include <thread.h>
Public Member Functions | |
SharedObject * | get (void) |
Get pointer to singleton object that we have shared lock for. | |
shared_release & | operator= (SharedPointer &pointer) |
Assign shared lock access to shared singleton. | |
void | release (void) |
Manually release access to shared singleton object. | |
shared_release (SharedPointer &pointer) | |
Access lock a shared singleton instance from a SharedPointer. | |
~shared_release () | |
Auto-unlock shared lock for singleton instance protected by shared pointer. |
Protected Member Functions | |
shared_release () | |
Create an unassigned shared singleton object pointer base. | |
shared_release (const shared_release &object) | |
Construct a shared object instance base from an existing instance. |
Protected Attributes | |
SharedPointer * | ptr |
Shared lock for protected singleton. |
Auto-pointer support class for shared singleton objects.
This is used as a base class for the templated shared_instance class that uses shared access locking through the SharedPointer class. When the shared instance falls out of scope, the SharedPointer lock is released. The pointer typed object must be based on the SharedObject class.
|
protected |
Construct a shared object instance base from an existing instance.
This will assign an additional shared lock.
object | to copy from. |
ucommon::shared_release::shared_release | ( | SharedPointer & | pointer | ) |
Access lock a shared singleton instance from a SharedPointer.
pointer | of shared pointer to assign from. |
ucommon::shared_release::~shared_release | ( | ) |
Auto-unlock shared lock for singleton instance protected by shared pointer.
This is used to unlock when the instance template falls out of scope.
SharedObject* ucommon::shared_release::get | ( | void | ) |
Get pointer to singleton object that we have shared lock for.
shared_release& ucommon::shared_release::operator= | ( | SharedPointer & | pointer | ) |
Assign shared lock access to shared singleton.
If an existing shared lock is held for another pointer, it is released.
pointer | access for shared object. |