#include <ValueBase.h>
Public Member Functions | |
virtual void | _add_ref (void) |
! virtual CORBA::ValueBase* _copy_value (void) = 0; | |
virtual void | _remove_ref (void) |
virtual CORBA::ULong | _refcount_value (void) |
void | _tao_add_ref (void) |
void | _tao_remove_ref (void) |
CORBA::ULong | _tao_refcount_value (void) |
Protected Member Functions | |
DefaultValueRefCountBase (void) | |
DefaultValueRefCountBase (const DefaultValueRefCountBase &) | |
virtual | ~DefaultValueRefCountBase () |
Private Member Functions | |
void | operator= (const DefaultValueRefCountBase &) |
Private Attributes | |
ACE_Atomic_Op< TAO_SYNCH_MUTEX, unsigned long > | refcount_ |
Reference counter. |
Default mix-in for reference count of a valuetype.
Definition at line 310 of file ValueBase.h.
CORBA::DefaultValueRefCountBase::DefaultValueRefCountBase | ( | void | ) | [protected] |
Definition at line 1356 of file ValueBase.cpp.
: refcount_ (1) { }
CORBA::DefaultValueRefCountBase::DefaultValueRefCountBase | ( | const DefaultValueRefCountBase & | rhs | ) | [protected] |
Definition at line 1364 of file ValueBase.cpp.
CORBA::DefaultValueRefCountBase::~DefaultValueRefCountBase | ( | void | ) | [protected, virtual] |
Definition at line 1332 of file ValueBase.cpp.
{ }
void CORBA::DefaultValueRefCountBase::_add_ref | ( | void | ) | [virtual] |
! virtual CORBA::ValueBase* _copy_value (void) = 0;
Implements CORBA::ValueBase.
Definition at line 1337 of file ValueBase.cpp.
{ this->_tao_add_ref (); }
CORBA::ULong CORBA::DefaultValueRefCountBase::_refcount_value | ( | void | ) | [virtual] |
Implements CORBA::ValueBase.
Definition at line 1349 of file ValueBase.cpp.
{ return this->_tao_refcount_value (); }
void CORBA::DefaultValueRefCountBase::_remove_ref | ( | void | ) | [virtual] |
Implements CORBA::ValueBase.
Definition at line 1343 of file ValueBase.cpp.
{ this->_tao_remove_ref (); }
void CORBA::DefaultValueRefCountBase::_tao_add_ref | ( | void | ) |
The _tao variants are inline for fast access from T_var (if valuetype T is compiled with optimization for that.) ! (todo)
Definition at line 1373 of file ValueBase.cpp.
{ ++this->refcount_; }
CORBA::ULong CORBA::DefaultValueRefCountBase::_tao_refcount_value | ( | void | ) |
Definition at line 1388 of file ValueBase.cpp.
void CORBA::DefaultValueRefCountBase::_tao_remove_ref | ( | void | ) |
Definition at line 1379 of file ValueBase.cpp.
{ CORBA::ULong const new_count = --this->refcount_; if (new_count == 0) delete this; }
void CORBA::DefaultValueRefCountBase::operator= | ( | const DefaultValueRefCountBase & | ) | [private] |
ACE_Atomic_Op<TAO_SYNCH_MUTEX, unsigned long> CORBA::DefaultValueRefCountBase::refcount_ [private] |
Reference counter.
Definition at line 334 of file ValueBase.h.