TObjArray


class description - source file - inheritance tree

class TObjArray : public TSeqCollection

    private:
Bool_t BoundsOk(char* where, Int_t at) Int_t GetAbsLast() void Init(Int_t s, Int_t lowerBound) Bool_t OutOfBoundsError(char* where, Int_t i) public:
TObjArray TObjArray(Int_t s = TCollection::kInitCapacity, Int_t lowerBound = 0) TObjArray TObjArray(TObjArray& a) virtual void ~TObjArray() virtual void Add(TObject* obj) virtual void AddAfter(TObject* after, TObject* obj) virtual void AddAt(TObject* obj, Int_t idx) virtual void AddAtAndExpand(TObject* obj, Int_t idx) virtual Int_t AddAtFree(TObject* obj) virtual void AddBefore(TObject* before, TObject* obj) virtual void AddFirst(TObject* obj) virtual void AddLast(TObject* obj) virtual TObject* After(TObject* obj) virtual TObject* At(Int_t idx) virtual TObject* Before(TObject* obj) virtual Int_t BinarySearch(TObject* obj, Int_t upto = kMaxInt) TClass* Class() virtual void Clear(Option_t* option) virtual void Compress() virtual void Delete(Option_t* option) virtual void Expand(Int_t newSize) virtual TObject* First() Int_t GetEntries() Int_t GetEntriesFast() Int_t GetLast() virtual Int_t IndexOf(TObject* obj) virtual TClass* IsA() virtual TObject* Last() Int_t LowerBound() virtual TIterator* MakeIterator(Bool_t dir = kIterForward) virtual TObject*& operator[](Int_t i) virtual TObject* Remove(TObject* obj) virtual void RemoveAt(Int_t idx) void SetLast(Int_t last) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Sort(Int_t upto = kMaxInt) virtual void Streamer(TBuffer& b) TObject* UncheckedAt(Int_t i)

Data Members

private:
TObject** fCont Array contents Int_t fLowerBound Lower bound of the array Int_t fLast Last element in array containing an object


See also

TClonesArray

Class Description

                                                                      
 TObjArray                                                            
                                                                      
 An array of TObjects. The array expands automatically when           
 objects are added (shrinking can be done by hand using Expand(),     
 how nice to have meaningful names -:)).                              
 Use operator[] to have "real" array behaviour.                       

/*

*/

                                                                      


TObjArray(Int_t s, Int_t lowerBound)
 Create an object array. Using s one can set the array size (default is
 kInitCapacity=16) and lowerBound can be used to set the array lowerbound
 index (default is 0).

TObjArray(const TObjArray &a)
 Create a copy of TObjArray a.

~TObjArray()
 Delete an array.

void AddFirst(TObject *obj)
 Add object in the first slot of the array. This will overwrite the
 first element that might have been there. To have insertion semantics
 use either a TList or a TOrdCollection.

void AddLast(TObject *obj)
 Add object in the next empty slot in the array. Expand the array
 if necessary.

void AddBefore(TObject *before, TObject *obj)
 Add object in the slot before object before. If before=0 add object
 in the first slot. Note that this will overwrite any object that
 might have already been in this slot. For insertion semantics use
 either a TList or a TOrdCollection.

void AddAfter(TObject *after, TObject *obj)
 Add object in the slot after object after. If after=0 add object in
 the last empty slot. Note that this will overwrite any object that
 might have already been in this slot. For insertion semantics use
 either a TList or a TOrdCollection.

void AddAtAndExpand(TObject *obj, Int_t idx)
 Add object at position idx. If idx is larger than the current size
 of the array, expand the array (double its size).

void AddAt(TObject *obj, Int_t idx)
 Add object at position ids. Give an error when idx is out of bounds
 (i.e. the array is not expanded).

Int_t AddAtFree(TObject *obj)
 Return the position of the new object.
 Find the first empty cell or AddLast if there is no empty cell

TObject* After(TObject *obj) const
 Return the object after obj. Returns 0 if obj is last object.

TObject* At(Int_t i) const
 Return the object at position i. Returns 0 if i is out of bounds.

TObject* Before(TObject *obj) const
 Return the object before obj. Returns 0 if obj is first object.

void Clear(Option_t *)
 Remove all objects from the array. Does not delete the objects.

void Compress()
 Remove empty slots from array.

void Delete(Option_t *)
 Remove all objects from the array AND delete all heap based objects.

void Expand(Int_t newSize)
 Expand or shrink the array to newSize elements.

void Streamer(TBuffer &b)
 Stream all objects in the array to or from the I/O buffer.

TObject* First() const
 Return the object in the first slot.

TObject* Last() const
 Return the object in the last filled slot. Returns 0 if no entries.

Int_t GetEntries() const
 Return the number of objects in array (i.e. number of non-empty slots).
 Attention: use this method ONLY if you want to know the number of
 non-empty slots. This function loops over the complete array and
 is therefore very slow when applied in a loop. Most of the time you
 better use GetLast()+1.

Int_t GetAbsLast() const
 Return absolute index to last object in array. Returns -1 in case
 array is empty.

Int_t GetLast() const
 Return index of last object in array. Returns lowerBound-1 in case
 array is empty.

Int_t IndexOf(TObject *obj) const
 obj != 0 Return index of object in array.
          Returns lowerBound-1 in case array doesn't contain the obj.

 obj == 0 Return the index of the first empty slot.
          Returns lowerBound-1 in case array doesn't contain any empty slot.

void Init(Int_t s, Int_t lowerBound)
 Initialize a TObjArray.

TIterator* MakeIterator(Bool_t dir) const
 Returns an array iterator.

Bool_t OutOfBoundsError(const char *where, Int_t i) const
 Generate an out-of-bounds error. Always returns false.

void RemoveAt(Int_t idx)
 Remove object at index idx.

TObject* Remove(TObject *obj)
 Remove object from array.

void SetLast(Int_t last)
 Set index of last object in array, effectively truncating the
 array. Use carefully since whenever last position has to be
 recalculated, e.g. after a Remove() or Sort() it will be reset
 to the last non-empty slot.

void Sort(Int_t upto)
 If objects in array are sortable (i.e. IsSortable() returns true
 for all objects) then sort array.

Int_t BinarySearch(TObject *op, Int_t upto)
 Find object using a binary search. Array must first have been sorted.
 Search can be limited by setting upto to desired index.



Inline Functions


             Bool_t BoundsOk(char* where, Int_t at)
              Int_t GetEntriesFast()
               void Add(TObject* obj)
           TObject* UncheckedAt(Int_t i)
          TObject*& operator[](Int_t i)
              Int_t LowerBound()
            TClass* Class()
            TClass* IsA()
               void ShowMembers(TMemberInspector& insp, char* parent)


Author: Fons Rademakers 11/09/95
Last update: 2.22/07 05/07/99 18.55.30 by Fons Rademakers
Copyright (c) 1995-1999, The ROOT System, All rights reserved. *


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.