AliRefArray::AliRefArray(UInt_t nelem,UInt_t depth) :
TObject(),fNElems(nelem),fRefSize(depth),fElems(0),fRefInd(0),fRefBuff(0)
{
+ // constructor
fNElems = nelem;
// create array with nelem initial referres
if (fNElems<1) fNElems = 1;
//____________________________________________________________________
AliRefArray::AliRefArray(const AliRefArray& src) :
- TObject(),fNElems(0),fRefSize(0),fElems(0),fRefInd(0),fRefBuff(0)
+ TObject(src),
+ fNElems(src.fNElems),
+ fRefSize(src.fRefSize),
+ fElems(new Int_t[fNElems]),
+ fRefInd(new UInt_t[fRefSize]),
+ fRefBuff(new UInt_t[fRefSize])
{
- // create a copy with useful info (skip unused slots)
- (*this) = src;
+ //
+ // create a copy
+ //
+ memcpy(fElems,src.fElems,fNElems*sizeof(Int_t));
+ memcpy(fRefInd,src.fRefInd,fRefSize*sizeof(UInt_t));
+ memcpy(fRefBuff,src.fRefBuff,fRefSize*sizeof(UInt_t));
}
//____________________________________________________________________
AliRefArray::~AliRefArray()
{
// destructor
- delete[] fElems; fElems = 0;
- delete[] fRefBuff; fRefBuff = 0;
- delete[] fRefInd; fRefInd = 0;
+ delete[] fElems;
+ delete[] fRefBuff;
+ delete[] fRefInd;
}
//____________________________________________________________________