#include <RefCount.h>
|
- Note
- A note on why the RTTI replacement is needed: RTTI calls fail once the object crosses the dso boundary. We revert to using simple string checks which is more expensive but at least works once the dso is used in Houdini, etc. Use field_dynamic_cast<> for any RefBase subclass instead of dynamic_cast<>.
|
virtual bool | checkRTTI (const char *typenameStr)=0 |
| This function is only implemented by concrete classes and triggers the actual RTTI check through matchRTTI();. More...
|
|
bool | matchRTTI (const char *typenameStr) |
| Performs a check to see if the given typename string matches this class' This needs to be implemented in -all- subclasses, even abstract ones. More...
|
|
static const char * | staticClassType () |
|
Definition at line 106 of file RefCount.h.
◆ Ptr
◆ WeakPtr
◆ RefBase() [1/2]
◆ RefBase() [2/2]
RefBase::RefBase |
( |
const RefBase & |
| ) |
|
|
inline |
Copy constructor.
- Note
- The null_deleter ensures we never try to actually delete this object using the shared pointer.
Definition at line 128 of file RefCount.h.
◆ ~RefBase()
virtual RefBase::~RefBase |
( |
| ) |
|
|
inlinevirtual |
◆ operator=()
◆ refcnt()
size_t RefBase::refcnt |
( |
| ) |
|
|
inline |
◆ ref()
void RefBase::ref |
( |
| ) |
const |
|
inline |
Used by boost::intrusive_pointer.
Definition at line 150 of file RefCount.h.
152 #ifndef FIELD3D_USE_ATOMIC_COUNT
153 boost::mutex::scoped_lock lock(m_refMutex);
Referenced by intrusive_ptr_add_ref().
◆ unref()
void RefBase::unref |
( |
| ) |
const |
|
inline |
Used by boost::intrusive_pointer.
Definition at line 159 of file RefCount.h.
161 #ifndef FIELD3D_USE_ATOMIC_COUNT
162 boost::mutex::scoped_lock lock(m_refMutex);
Referenced by intrusive_ptr_release().
◆ weakPtr()
◆ checkRTTI()
virtual bool RefBase::checkRTTI |
( |
const char * |
typenameStr | ) |
|
|
pure virtual |
This function is only implemented by concrete classes and triggers the actual RTTI check through matchRTTI();.
◆ matchRTTI()
bool RefBase::matchRTTI |
( |
const char * |
typenameStr | ) |
|
|
inline |
Performs a check to see if the given typename string matches this class' This needs to be implemented in -all- subclasses, even abstract ones.
Definition at line 193 of file RefCount.h.
◆ staticClassType()
static const char* RefBase::staticClassType |
( |
| ) |
|
|
inlinestatic |
◆ m_counter
boost::detail::atomic_count RefBase::m_counter |
|
mutableprivate |
For boost intrusive pointer.
Definition at line 211 of file RefCount.h.
◆ m_sharedPtr
boost::shared_ptr<RefBase> RefBase::m_sharedPtr |
|
private |
For use by the FieldCache only: The shared pointer lets us see if this object is still alive.
Definition at line 220 of file RefCount.h.
The documentation for this class was generated from the following file: