TObjArray
class description - source file - inheritance tree
protected:
Bool_t BoundsOk(const char* where, Int_t at) const
Int_t GetAbsLast() const
void Init(Int_t s, Int_t lowerBound)
Bool_t OutOfBoundsError(const char* where, Int_t i) const
public:
TObjArray TObjArray(Int_t s = TCollection::kInitCapacity, Int_t lowerBound = 0)
TObjArray TObjArray(const 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) const
virtual TObject* At(Int_t idx) const
virtual TObject* Before(TObject* obj) const
virtual Int_t BinarySearch(TObject* obj, Int_t upto = kMaxInt)
static 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() const
Int_t GetEntries() const
Int_t GetEntriesFast() const
Int_t GetLast() const
virtual TObject** GetObjectRef(const TObject* obj) const
virtual Int_t IndexOf(const TObject* obj) const
virtual TClass* IsA() const
virtual Bool_t IsEmpty() const
virtual TObject* Last() const
Int_t LowerBound() const
virtual TIterator* MakeIterator(Bool_t dir = kIterForward) const
virtual TObject*& operator[](Int_t i)
virtual TObject* operator[](Int_t i) const
virtual TObject* Remove(TObject* obj)
virtual TObject* 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)
void StreamerNVirtual(TBuffer& b)
TObject* UncheckedAt(Int_t i) const
protected:
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
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) : TSeqCollection()
Create a copy of TObjArray a. Note, does not copy the kIsOwner flag.
~TObjArray()
Delete an array. Objects are not deleted unless the TObjArray is the
owner (set via SetOwner()).
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* 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
unless the TObjArray is the owner (set via SetOwner()).
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 GetEntriesFast() (only in case when there are no empty slots).
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.
TObject** GetObjectRef(const TObject *obj) const
Return address of pointer obj. If obj is 0 returns address of container.
Int_t IndexOf(const 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.
TObject* 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. If last is -2 this will force the
recalculation of the last used 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(const char* where, Int_t at) const
Int_t GetEntriesFast() const
Bool_t IsEmpty() const
void Add(TObject* obj)
TObject* At(Int_t idx) const
TObject* UncheckedAt(Int_t i) const
TObject*& operator[](Int_t i)
TObject* operator[](Int_t i) const
Int_t LowerBound() const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void StreamerNVirtual(TBuffer& b)
Author: Fons Rademakers 11/09/95
Last update: root/cont:$Name: $:$Id: TObjArray.cxx,v 1.21 2003/03/17 14:30:11 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
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.