FARGOS/VISTA Object Management Environment Core
..
|
Base class for reference-counted data. More...
#include <OMErefCount.h>
Public Member Functions | |
OMEreferenceCount () | |
virtual | ~OMEreferenceCount () |
void | addReadOnlyReference () |
int_fast32_t | dropReference () |
virtual OMEreferenceCount * | deepCopy () const |
OMEreferenceCount * | getUniqueReference () |
int_fast32_t | totalReferences () const OME_ALWAYS_INLINE |
Protected Member Functions | |
void | lockMe () |
void | unlockMe () |
Protected Attributes | |
int32_t | references |
int32_t | mutexID |
Base class for reference-counted data.
OMEreference serves as the base class for data that may be referenced by multiple entities.
OMEreferenceCount::OMEreferenceCount | ( | ) |
References mutexID, OMEgetMiscellaneousMutex(), and references.
|
inlinevirtual |
void OMEreferenceCount::addReadOnlyReference | ( | ) |
References OME_ATOMIC_INCREMENT, and references.
Referenced by OMEclass::addMethod(), OMEoid::decodeOID(), OMEstringStorage::midstr(), OMEtickInterval::OMEtickInterval(), OMEset::operator=(), OMEarray::operator=(), OMEassoc::operator=(), OMEnlm::operator=(), OMEfixed::operator=(), OMEoid::operator=(), and OMEstring::operator=().
|
inlinevirtual |
Reimplemented in OMEoidStorage, OMEstringStorage, OMEassocStorage, OMEfixedStorage, OMEnlmStorage, OMEarrayStorage, and OMEsetStorage.
Referenced by getUniqueReference().
int_fast32_t OMEreferenceCount::dropReference | ( | ) |
References OME_ATOMIC_DECREMENT, and references.
Referenced by OMEobjectInstance::createObjectOfClass(), OMEtickInterval::noteThreadDead(), OMEstring::operator+=(), OMEclass::~OMEclass(), and OMEtickInterval::~OMEtickInterval().
OMEreferenceCount * OMEreferenceCount::getUniqueReference | ( | ) |
References deepCopy(), OME_ATOMIC_DECREMENT, and references.
|
protected |
References mutexID, and OMEstartCriticalSection().
Referenced by OMEarrayStorage::deleteIndex(), OMEsetStorage::operator&=(), OMEsetStorage::operator+=(), OMEsetStorage::operator-=(), and OMEarrayStorage::operator[]().
|
inline |
|
protected |
References mutexID, and OMEendCriticalSection().
Referenced by OMEarrayStorage::deleteIndex(), OMEsetStorage::operator&=(), OMEsetStorage::operator+=(), OMEsetStorage::operator-=(), and OMEarrayStorage::operator[]().
|
protected |
Referenced by lockMe(), OMEreferenceCount(), and unlockMe().
|
mutableprotected |
Referenced by addReadOnlyReference(), dropReference(), getUniqueReference(), and OMEreferenceCount().
![]() | Generated: Fri Jul 31 2020 18:19:16
Support Information |