Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TIndArray.h
Go to the documentation of this file.
1 // @(#)root/tree:$Id$
2 // Author: Lukasz Janyst <ljanyst@cern.ch> 23/01/2008
3 
4 //------------------------------------------------------------------------------
5 // file: TIndArray.h
6 //------------------------------------------------------------------------------
7 
8 #ifndef ROOT_TIndArray
9 #define ROOT_TIndArray
10 
11 #include "Rtypes.h"
12 
13 
14 class TIndArray
15 {
16  public:
17  TIndArray():
18  fElems( 0 ), fCapacity( 0 ), fArr( 0 ) {};
19 
20  virtual ~TIndArray()
21  {
22  delete [] fArr;
23  }
24 
25  void ClearAndResize( UInt_t size )
26  {
27  delete [] fArr;
28  fElems = 0;
29  fArr = new UChar_t[size];
30  fCapacity = size;
31  }
32 
33  UInt_t GetCapacity() { return fCapacity; }
34  UInt_t GetNumItems() { return fElems; }
35  void SetNumItems( UInt_t items ) { fElems = items;}
36  UChar_t &At( Int_t ind ) { return fArr[ind]; }
37  void Clear() { fElems = 0; }
38 
39  private:
40  UInt_t fElems; ///< Number of elements stored in the array
41  UInt_t fCapacity; ///<! Capacity of the array
42  UChar_t *fArr; ///<[fElems] The array
43 
44 };
45 
46 #endif // ROOT_TIndArray