|
OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
A variant of boost::weak_ptr that uses our intrusive RCObject counting. More...
#include <RCObject.h>


Public Member Functions | |
| void | clear () |
| Remove any listener and NULL the wrapped pointer. More... | |
| bool | empty () const |
| Will getting a lock() return a null? More... | |
| virtual void | executeUseCountHitZeroCB (RCObject *pAboutToDie) |
| Listener callback from the RCObject to implement the interface. More... | |
| bool | expired () const |
| Will getting a lock() return a null? More... | |
| RCPtr< T > | lock () const |
| WeakRCPtr & | operator= (const WeakRCPtr &r) |
| WeakRCPtr () | |
| Default contains NULL. More... | |
| WeakRCPtr (RCPtr< T > src) | |
| ~WeakRCPtr () | |
A variant of boost::weak_ptr that uses our intrusive RCObject counting.
WeakRCPtr<T> is used to refer weakly to a class T where T inherits from RCObject.
NOTE: These are NOT thread-safe!!
By weak we mean that RCWeakPtr<T> does not change the use count of the wrapped object. Also it may transition from containing a valid ptr to containing NULL if the RCObject it wraps is deleted by its use count going to 0. Therefore, similarly to boost::weak_ptr, a lock() function is provided to returns a new RCPtr<T> for the object which ups its ref count and therefore maintains the life of the object for the duration of the use of the ptr returned from lock().
get() is provided as access to the raw ptr BUT NOTE THAT IT IS NOT SAFE. The memory may go away during the use of the returned ptr, so lock() is the preferred method to get the resource. get() is useful for checking for null of the wrapped ptr.
Definition at line 412 of file RCObject.h.
|
inline |
Default contains NULL.
Definition at line 418 of file RCObject.h.
|
inlineexplicit |
Definition at line 423 of file RCObject.h.
|
inline |
Definition at line 430 of file RCObject.h.
|
inline |
Remove any listener and NULL the wrapped pointer.
On Exit: expired()
Definition at line 475 of file RCObject.h.
|
inline |
Will getting a lock() return a null?
Definition at line 453 of file RCObject.h.
Referenced by ncml_module::NetcdfElement::getAggMemberDataset().
|
inlinevirtual |
Listener callback from the RCObject to implement the interface.
This is called when the wrapped RCObject ref count goes to 0 so we can safely disconnect.
Implements agg_util::UseCountHitZeroCB.
Definition at line 489 of file RCObject.h.
|
inline |
Will getting a lock() return a null?
Definition at line 447 of file RCObject.h.
|
inline |
Definition at line 458 of file RCObject.h.
Referenced by ncml_module::NetcdfElement::getAggMemberDataset().
|
inline |
Definition at line 435 of file RCObject.h.