#include "hseqarr.h"

HSeqArrBlock


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

class HSeqArrBlock : public TObject

Inheritance Chart:
TObject
<-
HSeqArrBlock

    protected:
HSeqArrBlock() HSeqArrBlock(HSeqArrBlock* p) virtual ~HSeqArrBlock() static UInt_t blockIndex(UInt_t n) Bool_t expand() static UInt_t indexInBlock(UInt_t i) public:
HSeqArrBlock(const HSeqArrBlock&) static TClass* Class() virtual TClass* IsA() const HSeqArrBlock& operator=(const HSeqArrBlock&) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Char_t arr[262144] UInt_t blockNumber array block number HSeqArrBlock* nextBlock pointer to the next array block public:
static const enum HSeqArrBlock:: blockSize static const enum HSeqArrBlock:: nBits static const enum HSeqArrBlock:: bitMask

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



HSeqArrBlock(void)

HSeqArrBlock(HSeqArrBlock* p)

~HSeqArrBlock(void)

Bool_t expand(void)
 Creating of new array block:



Inline Functions


               UInt_t blockIndex(UInt_t n)
               UInt_t indexInBlock(UInt_t i)
              TClass* Class()
              TClass* IsA() const
                 void ShowMembers(TMemberInspector& insp, char* parent)
                 void Streamer(TBuffer& b)
                 void StreamerNVirtual(TBuffer& b)
         HSeqArrBlock HSeqArrBlock(const HSeqArrBlock&)
        HSeqArrBlock& operator=(const HSeqArrBlock&)


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.