The shared pointer is used to manage a singleton instance of shared object. More...
#include <thread.h>
Protected Member Functions | |
void | replace (SharedObject *object) |
Replace existing singleton instance with new one. | |
SharedObject * | share (void) |
Acquire a shared reference to the singleton object. | |
SharedPointer () | |
Created shared locking for pointer. | |
~SharedPointer () | |
Destroy lock and release any blocked threads. | |
Friends | |
class | shared_release |
The shared pointer is used to manage a singleton instance of shared object.
This class is used to support the templated shared_pointer class and the shared_release class, and is not meant to be used directly or as a base for anything else. One or more threads may aquire a shared lock to the singleton object through this pointer, and it can only be replaced with a new singleton instance when no threads reference it. The conditional lock is used to manage shared access for use and exclusive access when modified.
Definition at line 1194 of file thread.h.
ucommon::SharedPointer::SharedPointer | ( | ) | [protected] |
Created shared locking for pointer.
Must be assigned by replace.
void ucommon::SharedPointer::replace | ( | SharedObject * | object | ) | [protected] |
Replace existing singleton instance with new one.
This happens during exclusive locking, and the commit method of the object will be called.
object | being set. |
SharedObject* ucommon::SharedPointer::share | ( | void | ) | [protected] |
Acquire a shared reference to the singleton object.
This is a form of shared access lock. Derived classes and templates access "release" when the shared pointer is no longer needed.