ROOT  6.06/09
Reference Guide
TRefCnt.h
Go to the documentation of this file.
1 // @(#)root/base:$Id$
2 // Author: Fons Rademakers 04/08/95
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TRefCnt
13 #define ROOT_TRefCnt
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TRefCnt //
19 // //
20 // Base class for reference counted objects. //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #ifndef ROOT_Rtypes
25 #include "Rtypes.h"
26 #endif
27 
28 
29 class TRefCnt {
30 
31 protected:
32  UInt_t fRefs; // (1 less than) number of references
33 
34 public:
36 
37  TRefCnt(Int_t initRef = 0) : fRefs((UInt_t)initRef-1) { }
39  virtual ~TRefCnt() { }
40  UInt_t References() const { return fRefs+1; }
41  void SetRefCount(UInt_t r) { fRefs = r-1; }
42  void AddReference() { fRefs++; }
43  UInt_t RemoveReference() { return fRefs--; }
44 };
45 
46 #endif
UInt_t References() const
Definition: TRefCnt.h:40
UInt_t fRefs
Definition: TRefCnt.h:32
Definitions for TRefCnt, base class for reference counted objects.
Definition: TRefCnt.h:29
int Int_t
Definition: RtypesCore.h:41
void SetRefCount(UInt_t r)
Definition: TRefCnt.h:41
ROOT::R::TRInterface & r
Definition: Object.C:4
unsigned int UInt_t
Definition: RtypesCore.h:42
UInt_t RemoveReference()
Definition: TRefCnt.h:43
EReferenceFlag
Definition: TRefCnt.h:35
virtual ~TRefCnt()
Definition: TRefCnt.h:39
void AddReference()
Definition: TRefCnt.h:42
TRefCnt(Int_t initRef=0)
Definition: TRefCnt.h:37