34 TArrayC::TArrayC(Int_t n)
43 TArrayC::TArrayC(Int_t n,
const Char_t *array)
52 TArrayC::TArrayC(
const TArrayC &array) : TArray(array)
55 Set(array.fN, array.fArray);
61 TArrayC &TArrayC::operator=(
const TArrayC &rhs)
64 Set(rhs.fN, rhs.fArray);
81 void TArrayC::Adopt(Int_t n, Char_t *arr)
93 void TArrayC::AddAt(Char_t c, Int_t i)
95 if (!BoundsOk(
"TArrayC::AddAt", i))
return;
105 void TArrayC::Set(Int_t n)
109 Char_t *temp = fArray;
111 fArray =
new Char_t[n];
112 if (n < fN) memcpy(fArray,temp, n*
sizeof(Char_t));
114 memcpy(fArray,temp,fN*
sizeof(Char_t));
115 memset(&fArray[fN],0,(n-fN)*
sizeof(Char_t));
120 if (fN)
delete [] temp;
129 void TArrayC::Set(Int_t n,
const Char_t *array)
131 if (fArray && fN != n) {
137 if (array == 0)
return;
138 if (!fArray) fArray =
new Char_t[fN];
139 memmove(fArray, array, n*
sizeof(Char_t));
145 void TArrayC::Streamer(TBuffer &b)
151 b.ReadFastArray(fArray,n);
154 b.WriteFastArray(fArray, fN);