#include <ReferenceCounted.h>
Public Types | |
typedef unsigned int | CounterType |
The integer type used for counting. | |
Public Member Functions | |
CounterType | referenceCount () const |
Return the reference count. | |
Public Attributes | |
const unsigned long | uniqueId |
The unique ID. | |
Protected Member Functions | |
Standard constructors and assignment. | |
ReferenceCounted () | |
Default constructor. | |
ReferenceCounted (const ReferenceCounted &) | |
Copy-constructor. | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Assignment. | |
Private Member Functions | |
void | incrementReferenceCount () const |
Increment the reference count. | |
bool | decrementReferenceCount () const |
Decrement with the reference count. | |
Private Attributes | |
CounterType | theReferenceCounter |
The reference count. | |
Static Private Attributes | |
static unsigned long | objectCounter |
A counter for issuing unique IDs. | |
Friends | |
class | RCPtrBase |
The RCPtrBase class needs to acces the private parts of ReferenceCounted. | |
class | ThePEG::PersistentIStream |
It keeps track of all RCPtr and ConstRCPtr pointers which are currently pointing to an object.
Definition at line 30 of file ReferenceCounted.h.
friend class RCPtrBase [friend] |
The RCPtrBase class needs to acces the private parts of ReferenceCounted.
Definition at line 33 of file ReferenceCounted.h.
const unsigned long ThePEG::Pointer::ReferenceCounted::uniqueId |
The unique ID.
Can be used as sorting criterion, e.g. for set<> and map<>.
Definition at line 104 of file ReferenceCounted.h.
unsigned long ThePEG::Pointer::ReferenceCounted::objectCounter [static, private] |
A counter for issuing unique IDs.
It will overflow back to 0 eventually, but it is very unlikely that two identical IDs show up in the same event.
Definition at line 112 of file ReferenceCounted.h.