Dear developpers, I have questions concerning TRefArray(Iter). My use case is the following: I have a class A (inherited from TObject) that have as data member a TRefArray* fDigitList; (plus an index variable) and a method to fill this TRefArray using void AddDigit(TObject* a) { fDigitList->Add(a); } As it is clear the type of object stored in fDigitList are inherited from TObject but are from different kind. I would like to Dump the class A, so I am using A->Dump(): ==>Dumping object at:8be69e8, name=RTrackElement, class=RTrackElement fIndex 5 *fDigitList ->8bf22b8 fUniqueID 0 object unique identifier fBits 50331648 bit field status word =====> fDigitList: #enties = 5 The last line come from the fact that I have overloaded the A::Dump method of TObject as virtual void Dump() const { TObject::Dump(); if(fDigitList) { cout << "=====> fDigitList: #enties = " << (fDigitList->GetLast()+1) << endl; TIter next(fDigitList); TObject* obj; int iobj = 0; while( (obj = next()) ) { cout << "Dump Digit[" << iobj++ << "]" << endl; obj->Dump(); } } } My problem is that I would like to Dump the content of fDigitList not only the pointer value. It is the reason of the iteration on the Tobject stored in it. But as you can see I does not get any "Dump Digit" message this means that next() return 0 even if the TRefArray is filled. Looking at the code (I am using 3.3/05) I have found the method TObject *TRefArrayIter::Next() always return 0 because the code is commented! 1) How I can dump the class A content and the TRefArray as well? 2) If I have to iterate on TRefArray how I proceed? Regards, Jean-Eric Campagne ............................................................................. .LAL - IN2P3 - CNRS .LAL - B.P 34 - 91898 Orsay Cedex - France .Piece 108 .Tel +33 (0)1 64 46 84 29 .Fax +33 (0)1 64 46 83 97 ...........................................................................
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:21 MET