SourcePro® C++ API Reference Guide

Product Documentation:
   SourcePro C++
Documentation Home
List of all members | Public Member Functions
RWAtomicCounter Class Reference

Maintains a reference count safely in a multithreaded environment. More...

#include <rw/pointer/RWAtomicCounter.h>

Public Member Functions

 RWAtomicCounter (unsigned n=0)
 
 RWAtomicCounter (RWStaticCtor)
 
 RWAtomicCounter (const RWAtomicCounter &)
 
unsigned addReference (void)
 
RWAtomicCounteroperator= (const RWAtomicCounter &)
 
unsigned references (void) const
 
unsigned removeReference (void)
 

Detailed Description

RWAtomicCounter maintains a reference count and can safely be used in a multithreaded environment.

Example
#include <rw/pointer/RWAtomicCounter.h>
#include <rw/pointer/RWTCountingPointer.h>
int main()
{
return 0;
}

Constructor & Destructor Documentation

RWAtomicCounter::RWAtomicCounter ( unsigned  n = 0)
inline

Constructs a default instance that initializes the reference count. Throws no exceptions.

RWAtomicCounter::RWAtomicCounter ( RWStaticCtor  )
inline

Constructs a static instance that does not initialize the reference count. Throws no exceptions.

RWAtomicCounter::RWAtomicCounter ( const RWAtomicCounter )
inline

Default-initializes the internal count to zero.

Member Function Documentation

unsigned RWAtomicCounter::addReference ( void  )
inline

Increments the reference count and then returns the previous value minus one.

RWAtomicCounter & RWAtomicCounter::operator= ( const RWAtomicCounter )
inline

Copy assignment operator that does nothing, allowing derived classes to do assignments. Returns *this.

unsigned RWAtomicCounter::references ( void  ) const
inline

Queries the current reference count. Throws no exceptions.

unsigned RWAtomicCounter::removeReference ( void  )
inline

Decrements the reference count and then returns the previous value minus one.

Copyright © 2016 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.