#include "hseqarr.h"

HSeqArrIter


class description - source file - inheritance tree (.pdf)

class HSeqArrIter : public TObject

Inheritance Chart:
TObject
<-
HSeqArrIter
    private:
HSeqArrIter() protected:
HSeqArrIter(HSeqArr* arr) Bool_t next(ESeqArrType tp) Bool_t nextAExp(ESeqArrType tp) Bool_t setNotFirst() public:
HSeqArrIter(const HSeqArrIter&) ~HSeqArrIter() static TClass* Class() Bool_t get(Char_t& e) Bool_t get(UChar_t& e) Bool_t get(Short_t& e) Bool_t get(UShort_t& e) Bool_t get(Int_t& e) Bool_t get(UInt_t& e) Bool_t get(Long64_t& e) Bool_t get(ULong64_t& e) Bool_t get(Float_t& e) Bool_t get(Double_t& e) Bool_t get(Bool_t& e) UInt_t getCursor() const Bool_t getNext(Char_t& e) Bool_t getNext(UChar_t& e) Bool_t getNext(Short_t& e) Bool_t getNext(UShort_t& e) Bool_t getNext(Int_t& e) Bool_t getNext(UInt_t& e) Bool_t getNext(Long64_t& e) Bool_t getNext(ULong64_t& e) Bool_t getNext(Float_t& e) Bool_t getNext(Double_t& e) Bool_t getNext(Bool_t& e) virtual TClass* IsA() const Bool_t next() Bool_t nextAndExpand() HSeqArrIter& operator=(const HSeqArrIter&) void reset() Bool_t set(Char_t e) Bool_t set(UChar_t e) Bool_t set(Short_t e) Bool_t set(UShort_t e) Bool_t set(Int_t e) Bool_t set(UInt_t e) Bool_t set(Long64_t e) Bool_t set(ULong64_t e) Bool_t set(Float_t e) Bool_t set(Double_t e) Bool_t set(Bool_t e) Bool_t setCursor(Int_t indArr = -1) Bool_t setNext(Char_t e) Bool_t setNext(UChar_t e) Bool_t setNext(Short_t e) Bool_t setNext(UShort_t e) Bool_t setNext(Int_t e) Bool_t setNext(UInt_t e) Bool_t setNext(Long64_t e) Bool_t setNext(ULong64_t e) Bool_t setNext(Float_t e) Bool_t setNext(Double_t e) Bool_t setNext(Bool_t e) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
HSeqArr* array HSeqArrBlock* block pointer to the current HSeqArrBlock object UInt_t index current index of element in full array (0-size) Char_t* cElem pointer to the current element Bool_t isFrst ???

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



HSeqArrIter(HSeqArr* arr)

void reset(void)

Bool_t next(ESeqArrType tp)
 Setting cursor to the next word

Bool_t next(void)
 Setting cursor position to the next word

Bool_t nextAndExpand(void)
 Setting cursor position to the next word and expand array if necessary

Bool_t nextAExp(ESeqArrType tp)

Bool_t setCursor(Int_t indArr)
 setting of block,index for element number ind



Inline Functions


                void ~HSeqArrIter()
         HSeqArrIter HSeqArrIter(HSeqArr* arr)
              Bool_t setNotFirst()
              UInt_t getCursor() const
              Bool_t set(Char_t e)
              Bool_t set(UChar_t e)
              Bool_t set(Short_t e)
              Bool_t set(UShort_t e)
              Bool_t set(Int_t e)
              Bool_t set(UInt_t e)
              Bool_t set(Long64_t e)
              Bool_t set(ULong64_t e)
              Bool_t set(Float_t e)
              Bool_t set(Double_t e)
              Bool_t set(Bool_t e)
              Bool_t get(Char_t& e)
              Bool_t get(UChar_t& e)
              Bool_t get(Short_t& e)
              Bool_t get(UShort_t& e)
              Bool_t get(Int_t& e)
              Bool_t get(UInt_t& e)
              Bool_t get(Long64_t& e)
              Bool_t get(ULong64_t& e)
              Bool_t get(Float_t& e)
              Bool_t get(Double_t& e)
              Bool_t get(Bool_t& e)
              Bool_t setNext(Char_t e)
              Bool_t setNext(UChar_t e)
              Bool_t setNext(Short_t e)
              Bool_t setNext(UShort_t e)
              Bool_t setNext(Int_t e)
              Bool_t setNext(UInt_t e)
              Bool_t setNext(Long64_t e)
              Bool_t setNext(ULong64_t e)
              Bool_t setNext(Float_t e)
              Bool_t setNext(Double_t e)
              Bool_t setNext(Bool_t e)
              Bool_t getNext(Char_t& e)
              Bool_t getNext(UChar_t& e)
              Bool_t getNext(Short_t& e)
              Bool_t getNext(UShort_t& e)
              Bool_t getNext(Int_t& e)
              Bool_t getNext(UInt_t& e)
              Bool_t getNext(Long64_t& e)
              Bool_t getNext(ULong64_t& e)
              Bool_t getNext(Float_t& e)
              Bool_t getNext(Double_t& e)
              Bool_t getNext(Bool_t& e)
             TClass* Class()
             TClass* IsA() const
                void ShowMembers(TMemberInspector& insp, char* parent)
                void Streamer(TBuffer& b)
                void StreamerNVirtual(TBuffer& b)
         HSeqArrIter HSeqArrIter(const HSeqArrIter&)
        HSeqArrIter& operator=(const HSeqArrIter&)


Last update: 23/06/2004 by V.Pechenov


ROOT page - Class index - Class Hierarchy - 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.