class HSeqArr: public TObject

_HADES_CLASS_DESCRIPTION


 HSeqArrBlock
 Classes for creating of huge arraies of sequential type.
 New element is added to the end of array always.
 Access to the existing elements can be rundom but
 optimization done for sequential access.

 HSeqArrBlock  - one block of array, keep 0x40000 bytes.

 HSeqArr can be created for keeping words of the next types:
   Char_t     --> HSeqArr(HSeqArr::kChar)
   UChar_t    --> HSeqArr(HSeqArr::kUChar)
   Short_t    --> HSeqArr(HSeqArr::kShort)
   UShort_t   --> HSeqArr(HSeqArr::kUShort)
   Int_t      --> HSeqArr(HSeqArr::kInt)
   UInt_t     --> HSeqArr(HSeqArr::kUInt)
   Long64_t   --> HSeqArr(HSeqArr::kLong64)
   ULong64_t  --> HSeqArr(HSeqArr::kULong64)
   Float_t    --> HSeqArr(HSeqArr::kFloat)
   Double_t   --> HSeqArr(HSeqArr::kDouble)
   Bool_t     --> HSeqArr(HSeqArr::kBool)
 or HSeqArr arr; arr.setArrType(HSeqArr::kChar); ...
 type of array can't be changed

 More useful functions:
 Bool_t addElement(void) - adding new element to the end of array
                           and setting cursor to this element
 Bool_t setCursor(UInt_t ind) - setting cursor to the element number "ind"

 void setElement(Char_t e) - set element in cursor position to "e"

 void getElement(Char_t& e) - get element in cursor position

 UInt_t getArraySize() - number of words in array
 UInt_t getMemSize(void) - size of allocated memory in bytes


Function Members (Methods)

public:
HSeqArr()
HSeqArr(ESeqArrType tp)
HSeqArr(Char_t)
HSeqArr(const HSeqArr&)
virtual~HSeqArr()
voidTObject::AbstractMethod(const char* method) const
Bool_taddBlock()
Bool_taddElement()
Bool_taddNext(Char_t e)
Bool_taddNext(UChar_t e)
Bool_taddNext(Short_t e)
Bool_taddNext(UShort_t e)
Bool_taddNext(Int_t e)
Bool_taddNext(UInt_t e)
Bool_taddNext(Long64_t e)
Bool_taddNext(ULong64_t e)
Bool_taddNext(Float_t e)
Bool_taddNext(Double_t e)
Bool_taddNext(Bool_t e)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
UInt_tgetArraySize() const
UInt_tgetArrSize() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
voidgetElement(Char_t& e)
voidgetElement(UChar_t& e)
voidgetElement(Short_t& e)
voidgetElement(UShort_t& e)
voidgetElement(Int_t& e)
voidgetElement(UInt_t& e)
voidgetElement(Long64_t& e)
voidgetElement(ULong64_t& e)
voidgetElement(Float_t& e)
voidgetElement(Double_t& e)
voidgetElement(Bool_t& e)
HSeqArrBlock*getFirstBlock()
virtual const char*TObject::GetIconName() const
UInt_tgetMemSize() const
virtual const char*TObject::GetName() const
Bool_tgetNext(Char_t& e)
Bool_tgetNext(UChar_t& e)
Bool_tgetNext(Short_t& e)
Bool_tgetNext(UShort_t& e)
Bool_tgetNext(Int_t& e)
Bool_tgetNext(UInt_t& e)
Bool_tgetNext(Long64_t& e)
Bool_tgetNext(ULong64_t& e)
Bool_tgetNext(Float_t& e)
Bool_tgetNext(Double_t& e)
Bool_tgetNext(Bool_t& e)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
UInt_tgetWordLength() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
voidincreaseArrSize()
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tisBoundOk(UInt_t i) const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
HSeqArrIter*makeIterator()
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
HSeqArr&operator=(const HSeqArr&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidrewind()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
Bool_tsetArrType(ESeqArrType tp)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
Bool_tsetCursor(Int_t indArr = -1)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetElement(Char_t e)
voidsetElement(UChar_t e)
voidsetElement(Short_t e)
voidsetElement(UShort_t e)
voidsetElement(Int_t e)
voidsetElement(UInt_t e)
voidsetElement(Long64_t e)
voidsetElement(ULong64_t e)
voidsetElement(Float_t e)
voidsetElement(Double_t e)
voidsetElement(Bool_t e)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Bool_ttpOk(ESeqArrType tp)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_terr(ESeqArrType tp)
Bool_tget(Char_t& e)
Bool_tget(UChar_t& e)
Bool_tget(Short_t& e)
Bool_tget(UShort_t& e)
Bool_tget(Int_t& e)
Bool_tget(UInt_t& e)
Bool_tget(Long64_t& e)
Bool_tget(ULong64_t& e)
Bool_tget(Float_t& e)
Bool_tget(Double_t& e)
Bool_tget(Bool_t& e)
voidinit(ESeqArrType tp)
voidTObject::MakeZombie()
Bool_tnext(ESeqArrType tp)
Bool_tnextAExp(ESeqArrType tp)
Bool_tset(Char_t& e)
Bool_tset(UChar_t& e)
Bool_tset(Short_t& e)
Bool_tset(UShort_t& e)
Bool_tset(Int_t& e)
Bool_tset(UInt_t& e)
Bool_tset(Long64_t& e)
Bool_tset(ULong64_t& e)
Bool_tset(Float_t& e)
Bool_tset(Double_t& e)
Bool_tset(Bool_t& e)
Bool_tsetCurrBlock(UInt_t n)
Bool_tsetNotFirst()

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
HSeqArrBlock*blockpointer to the current HSeqArrBlock object
UInt_tblockLengthsize of HSeqArrBlock object in bytes
Char_t*cElempointer to the current element
HSeqArrBlock*firstBlockpinter to the first block of array
UInt_tindexcurrent index of element in full array (0-size)
Bool_tisFrst???
HSeqArrBlock*lastBlockpinter to the last block of array
UInt_tnBlocksnumber of blocks in array
UInt_tsizetotal size of array in bytes
ESeqArrTypetypearray type
UInt_twordLengthlength of word in array

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void init(ESeqArrType tp)
~HSeqArr(void)
Bool_t setArrType(ESeqArrType tp)
UInt_t getMemSize(void)
 return size of allocated memory
void rewind(void)
Bool_t next(ESeqArrType tp)
 Setting cursor to the next word
Bool_t nextAExp(ESeqArrType tp)
Bool_t addBlock(void)
Bool_t setCurrBlock(UInt_t n)
 finding array block number n:
Bool_t addElement(void)
 adding new element in array (to the end of array)
Bool_t setCursor(Int_t indArr = -1)
 setting of block,index for element number ind
Bool_t err(ESeqArrType tp)
HSeqArrIter* makeIterator(void)
Bool_t setNotFirst(void)
{isFrst=kFALSE; return kTRUE;}
Bool_t set(Char_t &e)
{*(Char_t* )cElem=e; return setNotFirst();}
Bool_t set(UChar_t &e)
{*(UChar_t* )cElem=e; return setNotFirst();}
Bool_t set(Short_t &e)
{*(Short_t* )cElem=e; return setNotFirst();}
Bool_t set(UShort_t &e)
{*(UShort_t* )cElem=e; return setNotFirst();}
Bool_t set(Int_t &e)
{*(Int_t* )cElem=e; return setNotFirst();}
Bool_t set(UInt_t &e)
{*(UInt_t* )cElem=e; return setNotFirst();}
Bool_t set(Long64_t &e)
{*(Long64_t* )cElem=e; return setNotFirst();}
Bool_t set(ULong64_t &e)
{*(ULong64_t*)cElem=e; return setNotFirst();}
Bool_t set(Float_t &e)
{*(Float_t* )cElem=e; return setNotFirst();}
Bool_t set(Double_t &e)
{*(Double_t* )cElem=e; return setNotFirst();}
Bool_t set(Bool_t &e)
{*(Bool_t* )cElem=e; return setNotFirst();}
Bool_t get(Char_t &e)
{e=*(Char_t* )cElem; return setNotFirst();}
Bool_t get(UChar_t &e)
{e=*(UChar_t* )cElem; return setNotFirst();}
Bool_t get(Short_t &e)
{e=*(Short_t* )cElem; return setNotFirst();}
Bool_t get(UShort_t &e)
{e=*(UShort_t* )cElem; return setNotFirst();}
Bool_t get(Int_t &e)
{e=*(Int_t* )cElem; return setNotFirst();}
Bool_t get(UInt_t &e)
{e=*(UInt_t* )cElem; return setNotFirst();}
Bool_t get(Long64_t &e)
{e=*(Long64_t* )cElem; return setNotFirst();}
Bool_t get(ULong64_t &e)
{e=*(ULong64_t*)cElem; return setNotFirst();}
Bool_t get(Float_t &e)
{e=*(Float_t* )cElem; return setNotFirst();}
Bool_t get(Double_t &e)
{e=*(Double_t* )cElem; return setNotFirst();}
Bool_t get(Bool_t &e)
{e=*(Bool_t* )cElem; return setNotFirst();}
HSeqArr(void)
{init(kNoType);}
HSeqArr(ESeqArrType tp)
{init(tp);}
HSeqArr(Char_t)
{init(kChar);}
UInt_t getArraySize(void)
{return size/wordLength;}
Bool_t isBoundOk(UInt_t i) const
{return (i<size) ? kTRUE:kFALSE;}
void setElement(Char_t e)
{if(tpOk(kChar )) set(e);}
void setElement(UChar_t e)
{if(tpOk(kUChar )) set(e);}
void setElement(Short_t e)
{if(tpOk(kShort )) set(e);}
void setElement(UShort_t e)
{if(tpOk(kUShort )) set(e);}
void setElement(Int_t e)
{if(tpOk(kInt )) set(e);}
void setElement(UInt_t e)
{if(tpOk(kUInt )) set(e);}
void setElement(Long64_t e)
{if(tpOk(kLong64 )) set(e);}
void setElement(ULong64_t e)
{if(tpOk(kULong64)) set(e);}
void setElement(Float_t e)
{if(tpOk(kFloat )) set(e);}
void setElement(Double_t e)
{if(tpOk(kDouble )) set(e);}
void setElement(Bool_t e)
{if(tpOk(kBool )) set(e);}
void getElement(Char_t& e)
{if(tpOk(kChar )) get(e);}
void getElement(UChar_t& e)
{if(tpOk(kUChar )) get(e);}
void getElement(Short_t& e)
{if(tpOk(kShort )) get(e);}
void getElement(UShort_t& e)
{if(tpOk(kUShort )) get(e);}
void getElement(Int_t& e)
{if(tpOk(kInt )) get(e);}
void getElement(UInt_t& e)
{if(tpOk(kUInt )) get(e);}
void getElement(Long64_t& e)
{if(tpOk(kLong64 )) get(e);}
void getElement(ULong64_t& e)
{if(tpOk(kULong64)) get(e);}
void getElement(Float_t& e)
{if(tpOk(kFloat )) get(e);}
void getElement(Double_t& e)
{if(tpOk(kDouble )) get(e);}
void getElement(Bool_t& e)
{if(tpOk(kBool )) get(e);}
Bool_t addNext(Char_t e)
{if(nextAExp(kChar )) return set(e); return kFALSE;}
Bool_t addNext(UChar_t e)
{if(nextAExp(kUChar )) return set(e); return kFALSE;}
Bool_t addNext(Short_t e)
{if(nextAExp(kShort )) return set(e); return kFALSE;}
Bool_t addNext(UShort_t e)
{if(nextAExp(kUShort )) return set(e); return kFALSE;}
Bool_t addNext(Int_t e)
{if(nextAExp(kInt )) return set(e); return kFALSE;}
Bool_t addNext(UInt_t e)
{if(nextAExp(kUInt )) return set(e); return kFALSE;}
Bool_t addNext(Long64_t e)
{if(nextAExp(kLong64 )) return set(e); return kFALSE;}
Bool_t addNext(ULong64_t e)
{if(nextAExp(kULong64)) return set(e); return kFALSE;}
Bool_t addNext(Float_t e)
{if(nextAExp(kFloat )) return set(e); return kFALSE;}
Bool_t addNext(Double_t e)
{if(nextAExp(kDouble )) return set(e); return kFALSE;}
Bool_t addNext(Bool_t e)
{if(nextAExp(kBool )) return set(e); return kFALSE;}
Bool_t getNext(Char_t& e)
{if(next(kChar )) return get(e); return kFALSE;}
Bool_t getNext(UChar_t& e)
{if(next(kUChar )) return get(e); return kFALSE;}
Bool_t getNext(Short_t& e)
{if(next(kShort )) return get(e); return kFALSE;}
Bool_t getNext(UShort_t& e)
{if(next(kUShort )) return get(e); return kFALSE;}
Bool_t getNext(Int_t& e)
{if(next(kInt )) return get(e); return kFALSE;}
Bool_t getNext(UInt_t& e)
{if(next(kUInt )) return get(e); return kFALSE;}
Bool_t getNext(Long64_t& e)
{if(next(kLong64 )) return get(e); return kFALSE;}
Bool_t getNext(ULong64_t& e)
{if(next(kULong64)) return get(e); return kFALSE;}
Bool_t getNext(Float_t& e)
{if(next(kFloat )) return get(e); return kFALSE;}
Bool_t getNext(Double_t& e)
{if(next(kDouble )) return get(e); return kFALSE;}
Bool_t getNext(Bool_t& e)
{if(next(kBool )) return get(e); return kFALSE;}
UInt_t getWordLength(void)
 Next functions in this class are NOT for user!!!
{return wordLength;}
HSeqArrBlock* getFirstBlock(void)
{return firstBlock;}
Bool_t tpOk(ESeqArrType tp)
UInt_t getArrSize(void)
{return size;}
void increaseArrSize(void)
{size += wordLength;}

Last change: Sat May 22 13:13:10 2010
Last generated: 2010-05-22 13:13

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.