rwlogo
SourcePro C++ 12.5

SourcePro® C++ API Reference Guide

Product Documentation:

   SourcePro C++
Documentation Home

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions
RWTReadGuardBase< T > Class Template Reference

Base class for guard classes that support read access to a given section of code. More...

#include <rw/sync/RWTReadGuardBase.h>

Public Member Functions

 ~RWTReadGuardBase ()
 
void acquire ()
 
bool isAcquired () const
 
void release ()
 

Protected Member Functions

 RWTReadGuardBase (Resource &resource)
 
Resource & resource () const
 

Private Member Functions

 RWTReadGuardBase (const RWTReadGuardBase< Resource > &second)
 
RWTReadGuardBase< Resource > & operator= (const RWTReadGuardBase< Resource > &second)
 

Detailed Description

template<class T>
class RWTReadGuardBase< T >

RWTReadGuardBase<Resource> is a base class for guard classes that support read access to a given section of code.

Guard objects work in conjunction with block statements to establish an appropriate state upon creation, maintain that state for the duration of the block, and restore the original state upon destruction. For example, a guard may acquire a mutex for reading upon creation and release it when destructed. The class used as the template parameter Resource must be one that provides acquireRead() and release() methods, such as the synchronization classes provided in this module.

See Also
RWTReadLockGuardBase<Resource> , RWTReadUnlockGuard<Resource>

Constructor & Destructor Documentation

template<class T>
RWTReadGuardBase< T >::~RWTReadGuardBase ( )

Destructor.

template<class T>
RWTReadGuardBase< T >::RWTReadGuardBase ( Resource &  resource)
protected

Constructs an instance with the given resource.

template<class T>
RWTReadGuardBase< T >::RWTReadGuardBase ( const RWTReadGuardBase< Resource > &  second)
private

Copy construction prohibited.

Member Function Documentation

template<class T>
void RWTReadGuardBase< T >::acquire ( )

Acquires read access on the resource held by the guard unless access has already been acquired. Use this function rather than manipulating the resource directly so the guard will automatically release or acquire access (as appropriate).

template<class T>
bool RWTReadGuardBase< T >::isAcquired ( ) const

Returns true if the resource is currently acquired.

template<class T>
RWTReadGuardBase<Resource>& RWTReadGuardBase< T >::operator= ( const RWTReadGuardBase< Resource > &  second)
private

Assignment prohibited.

template<class T>
void RWTReadGuardBase< T >::release ( )

Releases the resource held by the guard if it has been acquired. Use this function rather than manipulating the resource directly so the guard will automatically release or acquire access (as appropriate).

template<class T>
Resource& RWTReadGuardBase< T >::resource ( ) const
protected

Returns a reference to the resource currently held by the guard.


© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.