UCommon
|
Auto-pointer support class for locked objects. More...
#include <thread.h>
Public Member Functions | |
locked_release (LockedPointer &pointer) | |
Construct a locked object instance base from a LockedPointer. More... | |
locked_release & | operator= (LockedPointer &pointer) |
Assign a locked object pointer. More... | |
void | release (void) |
Manually release the object reference. | |
~locked_release () | |
Auto-release pointer to locked object instance. More... | |
Protected Member Functions | |
locked_release () | |
Create an unassigned locked object pointer base. | |
locked_release (const locked_release &object) | |
Construct a locked object instance base from an existing instance. More... | |
Protected Attributes | |
ObjectProtocol * | object |
locked object protected by locked_release | |
Auto-pointer support class for locked objects.
This is used as a base class for the templated locked_instance class that uses the managed LockedPointer to assign a reference to an object. When the locked instance falls out of scope, the object is derefenced. Ideally the pointer typed object should be based on the reference counted object class.
|
protected |
Construct a locked object instance base from an existing instance.
This will create a duplicate (retained) reference.
object | to copy from. |
ucommon::locked_release::locked_release | ( | LockedPointer & | pointer | ) |
Construct a locked object instance base from a LockedPointer.
References a retained instance of the underlying object from the LockedPointer.
pointer | of locked pointer to assign from. |
ucommon::locked_release::~locked_release | ( | ) |
Auto-release pointer to locked object instance.
This is used to release a reference when the pointer template falls out of scope.
locked_release& ucommon::locked_release::operator= | ( | LockedPointer & | pointer | ) |
Assign a locked object pointer.
If an existing object is already assigned, the existing pointer is released.
pointer | reference through locked object. |