SourcePro® API Reference Guide

 
List of all members | Protected Member Functions
RWBodyBase Class Reference

Base class for body classes. More...

#include <rw/pointer/RWBodyBase.h>

Inheritance diagram for RWBodyBase:
RWTCountingBody< RWMutexLock > RWTMonitor< RWMutexLock > RWEscrowImpBase RWStreamImp RWTEscrowImp< Redeemable > RWInputStreamImp RWOutputStreamImp RWTThreadEscrowImp< Redeemable > RWByteInputStreamImp RWCharInputStreamImp RWDataInputStreamImp RWUCharInputStreamImp RWWCharInputStreamImp RWByteOutputStreamImp RWCharOutputStreamImp RWDataOutputStreamImp RWUCharOutputStreamImp RWWCharOutputStreamImp

Protected Member Functions

 RWBodyBase (void)
 
 RWBodyBase (RWStaticCtor)
 
 RWBodyBase (const RWBodyBase &second)
 
virtual ~RWBodyBase (void)
 
RWBodyBaseoperator= (const RWBodyBase &second)
 
- Protected Member Functions inherited from RWTCountingBody< RWMutexLock >
 RWTCountingBody (unsigned initCount=0)
 
 RWTCountingBody (RWStaticCtor)
 
 RWTCountingBody (const RWTCountingBody< RWMutexLock > &second)
 
RWTCountingBody< RWMutexLock > & operator= (const RWTCountingBody< RWMutexLock > &second)
 
 ~RWTCountingBody (void)
 
unsigned addReference (void)
 
unsigned references (void) const
 
unsigned removeReference (void)
 
- Protected Member Functions inherited from RWTMonitor< RWMutexLock >
 RWTMonitor ()
 
 RWTMonitor (RWStaticCtor)
 
 RWTMonitor (const RWTMonitor< RWMutexLock > &second)
 
 ~RWTMonitor ()
 
void acquire ()
 
bool isAcquired () const
 
RWTMonitor< RWMutexLock > & monitor () const
 
RWMutexLockmutex ()
 
RWTMonitor< RWMutexLock > & operator= (const RWTMonitor< RWMutexLock > &)
 
void release ()
 
bool tryAcquire ()
 

Additional Inherited Members

- Protected Types inherited from RWTCountingBody< RWMutexLock >
typedef RWTLockGuard< RWTMonitor< RWMutexLock > > LockGuard
 
typedef RWTTryLockGuard< RWTMonitor< RWMutexLock > > TryLockGuard
 
typedef RWTUnlockGuard< RWTMonitor< RWMutexLock > > UnlockGuard
 
- Protected Types inherited from RWTMonitor< RWMutexLock >
typedef RWTLockGuard< RWTMonitor< RWMutexLock > > LockGuard
 
typedef RWTTryLockGuard< RWTMonitor< RWMutexLock > > TryLockGuard
 
typedef RWTUnlockGuard< RWTMonitor< RWMutexLock > > UnlockGuard
 

Detailed Description

Base class for body classes. Each time an RWHandleBase instance is bound to an instance of this class, the handle instance increments the reference count inherited by the body instance. Each time a handle instance detaches from an instance of this class, the handle decrements the reference count. If the reference count reaches zero, the handle deletes the body instance. The reference counting relieves clients of the burden of having to keep track of when it is safe to delete a body instance.

Example
See HandlebodyEx1.cpp and HandlebodyEx2.cpp, located in the examples directory.

Constructor & Destructor Documentation

RWBodyBase::RWBodyBase ( void  )
inlineprotected

Default constructor. Constructs a default body instance where the reference count starts at zero.

RWBodyBase::RWBodyBase ( RWStaticCtor  )
inlineprotected

Constructs a static body instance where the reference count starts at one, to prevent deletion by handles.

RWBodyBase::RWBodyBase ( const RWBodyBase second)
inlineprotected

Copy constructor.

virtual RWBodyBase::~RWBodyBase ( void  )
protectedvirtual

Destructor. Throws no exceptions.

Member Function Documentation

RWBodyBase & RWBodyBase::operator= ( const RWBodyBase second)
inlineprotected

Assignment operator. Throws no exceptions.

Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.