Logo ROOT  
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#include "RtypesCore.h"
25
26
27class TRefCnt {
28
29protected:
30 UInt_t fRefs; // (1 less than) number of references
31
32public:
34
35 TRefCnt(Int_t initRef = 0) : fRefs((UInt_t)initRef-1) { }
37 virtual ~TRefCnt() { }
38 UInt_t References() const { return fRefs+1; }
39 void SetRefCount(UInt_t r) { fRefs = r-1; }
40 void AddReference() { fRefs++; }
42};
43
44#endif
ROOT::R::TRInterface & r
Definition: Object.C:4
int Int_t
Definition: RtypesCore.h:45
unsigned int UInt_t
Definition: RtypesCore.h:46
Definitions for TRefCnt, base class for reference counted objects.
Definition: TRefCnt.h:27
TRefCnt(Int_t initRef=0)
Definition: TRefCnt.h:35
void AddReference()
Definition: TRefCnt.h:40
UInt_t fRefs
Definition: TRefCnt.h:30
virtual ~TRefCnt()
Definition: TRefCnt.h:37
void SetRefCount(UInt_t r)
Definition: TRefCnt.h:39
EReferenceFlag
Definition: TRefCnt.h:33
@ kStaticInit
Definition: TRefCnt.h:33
UInt_t RemoveReference()
Definition: TRefCnt.h:41
UInt_t References() const
Definition: TRefCnt.h:38