UCommon
Public Member Functions | Protected Member Functions | Protected Attributes
ucommon::shared_release Class Reference

Auto-pointer support class for shared singleton objects. More...

#include <thread.h>

Inheritance diagram for ucommon::shared_release:
Inheritance graph
[legend]
Collaboration diagram for ucommon::shared_release:
Collaboration graph
[legend]

Public Member Functions

SharedObjectget (void)
 Get pointer to singleton object that we have shared lock for. More...
 
shared_releaseoperator= (SharedPointer &pointer)
 Assign shared lock access to shared singleton. More...
 
void release (void)
 Manually release access to shared singleton object.
 
 shared_release (SharedPointer &pointer)
 Access lock a shared singleton instance from a SharedPointer. More...
 
 ~shared_release ()
 Auto-unlock shared lock for singleton instance protected by shared pointer. More...
 

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. More...
 

Protected Attributes

SharedPointerptr
 Shared lock for protected singleton.
 

Detailed Description

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.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition at line 1587 of file thread.h.

Constructor & Destructor Documentation

ucommon::shared_release::shared_release ( const shared_release object)
protected

Construct a shared object instance base from an existing instance.

This will assign an additional shared lock.

Parameters
objectto copy from.
ucommon::shared_release::shared_release ( SharedPointer pointer)

Access lock a shared singleton instance from a SharedPointer.

Parameters
pointerof 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.

Member Function Documentation

SharedObject* ucommon::shared_release::get ( void  )

Get pointer to singleton object that we have shared lock for.

Returns
shared object singleton.
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.

Parameters
pointeraccess for shared object.

The documentation for this class was generated from the following file: