library: libSQL
#include "TBufferSQL2.h"

TBufferSQL2


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

class TBufferSQL2 : public TBuffer

Inheritance Chart:
TObject
<-
TBuffer
<-
TBufferSQL2

    protected:
TBufferSQL2(const TBufferSQL2&) TBufferSQL2() void operator=(const TBufferSQL2&) TSQLStructure* PopStack() TSQLStructure* PushStack() TSQLObjectData* SqlObjectData(Long64_t objid, TSQLClassInfo* sqlinfo) Bool_t SqlObjectInfo(Long64_t objid, TString& clname, Version_t& version) Int_t SqlReadArraySize() void SqlReadBasic(Char_t& value) void SqlReadBasic(Short_t& value) void SqlReadBasic(Int_t& value) void SqlReadBasic(Long_t& value) void SqlReadBasic(Long64_t& value) void SqlReadBasic(Float_t& value) void SqlReadBasic(Double_t& value) void SqlReadBasic(Bool_t& value) void SqlReadBasic(UChar_t& value) void SqlReadBasic(UShort_t& value) void SqlReadBasic(UInt_t& value) void SqlReadBasic(ULong_t& value) void SqlReadBasic(ULong64_t& value) const char* SqlReadCharStarValue() void* SqlReadObject(void* obj, TClass** cl = 0, TMemberStreamer* streamer = 0, Int_t streamer_index = 0) void* SqlReadObjectDirect(void* obj, TClass** cl, Long64_t objid, TMemberStreamer* streamer = 0, Int_t streamer_index = 0) const char* SqlReadValue(const char* tname) Bool_t SqlWriteBasic(Char_t value) Bool_t SqlWriteBasic(Short_t value) Bool_t SqlWriteBasic(Int_t value) Bool_t SqlWriteBasic(Long_t value) Bool_t SqlWriteBasic(Long64_t value) Bool_t SqlWriteBasic(Float_t value) Bool_t SqlWriteBasic(Double_t value) Bool_t SqlWriteBasic(Bool_t value) Bool_t SqlWriteBasic(UChar_t value) Bool_t SqlWriteBasic(UShort_t value) Bool_t SqlWriteBasic(UInt_t value) Bool_t SqlWriteBasic(ULong_t value) Bool_t SqlWriteBasic(ULong64_t value) Int_t SqlWriteObject(const void* obj, const TClass* objClass, TMemberStreamer* streamer = 0, Int_t streamer_index = 0) Bool_t SqlWriteValue(const char* value, const char* tname) TSQLStructure* Stack(Int_t depth = 0) void WorkWithClass(const char* classname, Version_t classversion) void WorkWithElement(TStreamerElement* elem, Int_t number) virtual void WriteObject(const void* actualObjStart, const TClass* actualClass) public:
TBufferSQL2(TBuffer::EMode mode) TBufferSQL2(TBuffer::EMode mode, TSQLFile* file) virtual ~TBufferSQL2() virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass* clss) virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const char* classname) static TClass* Class() virtual void ClassBegin(const TClass*, Version_t = -1) virtual void ClassEnd(const TClass*) virtual void ClassMember(const char* name, const char* typeName = "0", Int_t arrsize1 = -1, Int_t arrsize2 = -1) virtual void DecrementLevel(TStreamerInfo*) Int_t GetErrorFlag() const TSQLStructure* GetStructure() const virtual void IncrementLevel(TStreamerInfo*) virtual TClass* IsA() const virtual TBuffer& operator<<(Bool_t b) virtual TBuffer& operator<<(Char_t c) virtual TBuffer& operator<<(UChar_t c) virtual TBuffer& operator<<(Short_t h) virtual TBuffer& operator<<(UShort_t h) virtual TBuffer& operator<<(Int_t i) virtual TBuffer& operator<<(UInt_t i) virtual TBuffer& operator<<(Long_t l) virtual TBuffer& operator<<(ULong_t l) virtual TBuffer& operator<<(Long64_t l) virtual TBuffer& operator<<(ULong64_t l) virtual TBuffer& operator<<(Float_t f) virtual TBuffer& operator<<(Double_t d) virtual TBuffer& operator<<(const Char_t* c) virtual TBuffer& operator>>(Bool_t& b) virtual TBuffer& operator>>(Char_t& c) virtual TBuffer& operator>>(UChar_t& c) virtual TBuffer& operator>>(Short_t& h) virtual TBuffer& operator>>(UShort_t& h) virtual TBuffer& operator>>(Int_t& i) virtual TBuffer& operator>>(UInt_t& i) virtual TBuffer& operator>>(Long_t& l) virtual TBuffer& operator>>(ULong_t& l) virtual TBuffer& operator>>(Long64_t& l) virtual TBuffer& operator>>(ULong64_t& l) virtual TBuffer& operator>>(Float_t& f) virtual TBuffer& operator>>(Double_t& d) virtual TBuffer& operator>>(Char_t* c) virtual Int_t ReadArray(Bool_t*& b) virtual Int_t ReadArray(Char_t*& c) virtual Int_t ReadArray(UChar_t*& c) virtual Int_t ReadArray(Short_t*& h) virtual Int_t ReadArray(UShort_t*& h) virtual Int_t ReadArray(Int_t*& i) virtual Int_t ReadArray(UInt_t*& i) virtual Int_t ReadArray(Long_t*& l) virtual Int_t ReadArray(ULong_t*& l) virtual Int_t ReadArray(Long64_t*& l) virtual Int_t ReadArray(ULong64_t*& l) virtual Int_t ReadArray(Float_t*& f) virtual Int_t ReadArray(Double_t*& d) virtual Int_t ReadArrayDouble32(Double_t*& d, TStreamerElement* ele = 0) virtual TClass* ReadClass(const TClass* cl = 0, UInt_t* objTag = 0) virtual void ReadDouble32(Double_t* d, TStreamerElement* ele = 0) virtual void ReadFastArray(Bool_t* b, Int_t n) virtual void ReadFastArray(Char_t* c, Int_t n) virtual void ReadFastArray(UChar_t* c, Int_t n) virtual void ReadFastArray(Short_t* h, Int_t n) virtual void ReadFastArray(UShort_t* h, Int_t n) virtual void ReadFastArray(Int_t* i, Int_t n) virtual void ReadFastArray(UInt_t* i, Int_t n) virtual void ReadFastArray(Long_t* l, Int_t n) virtual void ReadFastArray(ULong_t* l, Int_t n) virtual void ReadFastArray(Long64_t* l, Int_t n) virtual void ReadFastArray(ULong64_t* l, Int_t n) virtual void ReadFastArray(Float_t* f, Int_t n) virtual void ReadFastArray(Double_t* d, Int_t n) virtual void ReadFastArray(void* start, const TClass* cl, Int_t n = 1, TMemberStreamer* s = 0) virtual void ReadFastArray(void** startp, const TClass* cl, Int_t n = 1, Bool_t isPreAlloc = kFALSE, TMemberStreamer* s = 0) virtual void ReadFastArrayDouble32(Double_t* d, Int_t n, TStreamerElement* ele = 0) virtual void* ReadObjectAny(const TClass* clCast) virtual Int_t ReadStaticArray(Bool_t* b) virtual Int_t ReadStaticArray(Char_t* c) virtual Int_t ReadStaticArray(UChar_t* c) virtual Int_t ReadStaticArray(Short_t* h) virtual Int_t ReadStaticArray(UShort_t* h) virtual Int_t ReadStaticArray(Int_t* i) virtual Int_t ReadStaticArray(UInt_t* i) virtual Int_t ReadStaticArray(Long_t* l) virtual Int_t ReadStaticArray(ULong_t* l) virtual Int_t ReadStaticArray(Long64_t* l) virtual Int_t ReadStaticArray(ULong64_t* l) virtual Int_t ReadStaticArray(Float_t* f) virtual Int_t ReadStaticArray(Double_t* d) virtual Int_t ReadStaticArrayDouble32(Double_t* d, TStreamerElement* ele = 0) virtual Version_t ReadVersion(UInt_t* start = 0, UInt_t* bcnt = 0, const TClass* cl = 0) virtual void SetByteCount(UInt_t cntpos, Bool_t packInVersion = kFALSE) void SetCompressionLevel(int level) void SetIgnoreVerification() virtual void SetStreamerElementNumber(Int_t) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void SkipObjectAny() void* SqlReadAny(Long64_t keyid, Long64_t objid, TClass** cl, void* obj = 0) TSQLStructure* SqlWriteAny(const void* obj, const TClass* cl, Long64_t objid) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual void StreamObject(void* obj, const type_info& typeinfo) virtual void StreamObject(void* obj, const char* className) virtual void StreamObject(void* obj, const TClass* cl) virtual void StreamObject(TObject* obj) virtual void StreamObject(void* obj, TMemberStreamer* streamer, const TClass* cl, Int_t n = 0) virtual void WriteArray(const Bool_t* b, Int_t n) virtual void WriteArray(const Char_t* c, Int_t n) virtual void WriteArray(const UChar_t* c, Int_t n) virtual void WriteArray(const Short_t* h, Int_t n) virtual void WriteArray(const UShort_t* h, Int_t n) virtual void WriteArray(const Int_t* i, Int_t n) virtual void WriteArray(const UInt_t* i, Int_t n) virtual void WriteArray(const Long_t* l, Int_t n) virtual void WriteArray(const ULong_t* l, Int_t n) virtual void WriteArray(const Long64_t* l, Int_t n) virtual void WriteArray(const ULong64_t* l, Int_t n) virtual void WriteArray(const Float_t* f, Int_t n) virtual void WriteArray(const Double_t* d, Int_t n) virtual void WriteArrayDouble32(const Double_t* d, Int_t n, TStreamerElement* ele = 0) virtual void WriteClass(const TClass* cl) virtual void WriteDouble32(Double_t* d, TStreamerElement* ele = 0) virtual void WriteFastArray(const Bool_t* b, Int_t n) virtual void WriteFastArray(const Char_t* c, Int_t n) virtual void WriteFastArray(const UChar_t* c, Int_t n) virtual void WriteFastArray(const Short_t* h, Int_t n) virtual void WriteFastArray(const UShort_t* h, Int_t n) virtual void WriteFastArray(const Int_t* i, Int_t n) virtual void WriteFastArray(const UInt_t* i, Int_t n) virtual void WriteFastArray(const Long_t* l, Int_t n) virtual void WriteFastArray(const ULong_t* l, Int_t n) virtual void WriteFastArray(const Long64_t* l, Int_t n) virtual void WriteFastArray(const ULong64_t* l, Int_t n) virtual void WriteFastArray(const Float_t* f, Int_t n) virtual void WriteFastArray(const Double_t* d, Int_t n) virtual void WriteFastArray(void* start, const TClass* cl, Int_t n = 1, TMemberStreamer* s = 0) virtual Int_t WriteFastArray(void** startp, const TClass* cl, Int_t n = 1, Bool_t isPreAlloc = kFALSE, TMemberStreamer* s = 0) virtual void WriteFastArrayDouble32(const Double_t* d, Int_t n, TStreamerElement* ele = 0) virtual void WriteObject(const TObject* obj) virtual UInt_t WriteVersion(const TClass* cl, Bool_t useBcnt = kFALSE)

Data Members


    protected:
TSQLFile* fSQL ! instance of TSQLFile TSQLStructure* fStructure ! structures, created by object storing TSQLStructure* fStk ! pointer on current active structure (stack head) TExMap* fObjMap ! Map between stored objects and object id TString fReadBuffer ! Buffer for read value Int_t fErrorFlag ! Error id value Bool_t fExpectedChain ! flag to resolve situation when several elements of same basic type stored as FastArray Int_t fCompressLevel ! compress level used to minimize size of data in database Int_t fReadVersionBuffer ! buffer, used to by ReadVersion method Long64_t fObjIdCounter ! counter of objects id Bool_t fIgnoreVerification ! ignore verification of names TSQLObjectData* fCurrentData ! TObjArray* fObjectsInfos ! array of objects info for selected key Long64_t fFirstObjId ! id of first object to be read from the database Long64_t fLastObjId ! id of last object correspond to this key TMap* fPoolsMap ! map of pools with data from different tables

Class Description

________________________________________________________________________

 Class for serializing/deserializing object to/from SQL data base.
 It redefines most of TBuffer class function to convert simple types,
 array of simple types and objects to/from TSQLStructure objects.
 TBufferSQL2 class uses streaming mechanism, provided by ROOT system,
 therefore most of ROOT and user classes can be stored. There are
 limitations for complex objects like TTree, TClonesArray, TDirectory and
 few other, which can not be converted to SQL (yet).
________________________________________________________________________
TBufferSQL2()
 Default constructor, should not be used
TBufferSQL2(TBuffer::EMode mode)
 Creates buffer object to serailize/deserialize data to/from sql.
 Mode should be either TBuffer::kRead or TBuffer::kWrite.
TBufferSQL2(TBuffer::EMode mode, TSQLFile* file)
 Creates buffer object to serailize/deserialize data to/from sql.
 This constructor should be used, if data from buffer supposed to be stored in file.
 Mode should be either TBuffer::kRead or TBuffer::kWrite.
~TBufferSQL2()
 destroy sql buffer
TSQLStructure* SqlWriteAny(const void* obj, const TClass* cl, Long64_t objid)
 Convert object of any class to sql structures
 Return pointer on created TSQLStructure
 TSQLStructure object will be owned by TBufferSQL2
void* SqlReadAny(Long64_t keyid, Long64_t objid, TClass** cl, void* obj)
 Recreate object from sql structure.
 Return pointer to read object.
 if (cl!=0) returns pointer to class of object
Bool_t SqlObjectInfo(Long64_t objid, TString& clname, Version_t& version)
 Returns object info like classname and version
 Should be taken from buffer, which is produced in the begginnig
TSQLObjectData* SqlObjectData(Long64_t objid, TSQLClassInfo* sqlinfo)
 creates TSQLObjectData for specifed object id and specified class
 Object data for each class can be stored in two different tables.
 First table contains data in column-wise form for simple types like integer,
 strings and so on when second table contains any other data which cannot
 be converted into column-wise representation.
 TSQLObjectData will contain results of the requests to both such tables for
 concrete object id.
void WriteObject(const TObject *obj)
 Convert object into sql structures.
 !!! Should be used only by TBufferSQL2 itself.
 Use SqlWrite() functions to convert your object to sql
 Redefined here to avoid gcc 3.x warning
Int_t SqlWriteObject(const void* obj, const TClass* cl, TMemberStreamer *streamer, Int_t streamer_index)
 Write object to buffer
 If object was written before, only pointer will be stored
 Return id of saved object
void* SqlReadObject(void* obj, TClass** cl, TMemberStreamer *streamer, Int_t streamer_index)
 Read object from the buffer
void* SqlReadObjectDirect(void* obj, TClass** cl, Long64_t objid, TMemberStreamer *streamer, Int_t streamer_index)
 Read object data.
 Class name and version are taken from special objects table.
void IncrementLevel(TStreamerInfo* info)
 Function is called from TStreamerInfo WriteBuffer and Readbuffer functions
 and indent new level in data structure.
 This call indicates, that TStreamerInfo functions starts streaming
 object data of correspondent class
void DecrementLevel(TStreamerInfo* info)
 Function is called from TStreamerInfo WriteBuffer and Readbuffer functions
 and decrease level in sql structure.
void SetStreamerElementNumber(Int_t number)
 Function is called from TStreamerInfo WriteBuffer and Readbuffer functions
 and add/verify next element in sql tables
 This calls allows separate data, correspondent to one class member, from another
void ClassBegin(const TClass* cl, Version_t classversion)
 This method inform buffer data of which class now
 will be streamed. When reading, classversion should be specified
 as was read by TBuffer::ReadVersion() call

 ClassBegin(), ClassEnd() & ClassMemeber() should be used in
 custom class streamers to specify which kind of data are
 now streamed to/from buffer. That information is used to correctly
 convert class data to/from "normal" sql tables with meaningfull names
 and correct datatypes. Without that functions data from custom streamer
 will be saved as "raw" data in special _streamer_ table one value after another
 Such MUST be used when object is written with standard ROOT streaming
 procedure, but should be read back in custom streamer.
 For example, custom streamer of TNamed class may look like:
void ClassEnd(const TClass* cl)
 Method indicates end of streaming of classdata in custom streamer.
 See ClassBegin() method for more details.
void ClassMember(const char* name, const char* typeName, Int_t arrsize1, Int_t arrsize2)
 Method indicates name and typename of class memeber,
 which should be now streamed in custom streamer
 Following combinations are supported:
 1. name = "ClassName", typeName = 0 or typename==ClassName
    This is a case, when data of parent class "ClassName" should be streamed.
    For instance, if class directly inherited from TObject, custom
    streamer should include following code:
    b.ClassMember("TObject");
    TObject::Streamer(b);
 2. Basic data type
      b.ClassMember("fInt","Int_t");
      b >> fInt;
 3. Array of basic data types
      b.ClassMember("fArr","Int_t", 5);
      b.ReadFastArray(fArr, 5);
 4. Object as data member
      b.ClassMemeber("fName","TString");
      fName.Streamer(b);
 5. Pointer on object as datamember
      b.ClassMemeber("fObj","TObject*");
      b.StreamObject(b);
 arrsize1 and arrsize2 arguments (when specified) indicate first and
 second dimension of array. Can be used for array of basic types.
 For more details see ClassBegin() method description.
void WorkWithClass(const char* classname, Version_t classversion)
 This function is a part of IncrementLevel method.
 Also used in StartClass method
void WorkWithElement(TStreamerElement* elem, Int_t number)
 This function is a part of SetStreamerElementNumber method.
 It is introduced for reading of data for specified data memeber of class.
 Used also in ReadFastArray methods to resolve problem of compressed data,
 when several data memebers of the same basic type streamed with single ...FastArray call
TClass* ReadClass(const TClass*, UInt_t*)
 suppressed function of TBuffer
void WriteClass(const TClass*)
 suppressed function of TBuffer
Int_t CheckByteCount(UInt_t, UInt_t, const char*)
 suppressed function of TBuffer
void SetByteCount(UInt_t, Bool_t)
 suppressed function of TBuffer
Version_t ReadVersion(UInt_t *start, UInt_t *bcnt, const TClass *)
 read version value from buffer
 actually version is normally defined by table name
 and kept in intermediate variable fReadVersionBuffer
void* ReadObjectAny(const TClass*)
 Read object from buffer. Only used from TBuffer
void SkipObjectAny()
 ?????? Skip any kind of object from buffer
 !!!!!! fix me, not yet implemented
 Should be just skip of current column later
void WriteObject(const void *actualObjStart, const TClass *actualClass)
 Write object to buffer. Only used from TBuffer
Int_t ReadArray(Bool_t *&b)
 Read array of Bool_t from buffer
Int_t ReadArray(Char_t *&c)
 Read array of Char_t from buffer
Int_t ReadArray(UChar_t *&c)
 Read array of UChar_t from buffer
Int_t ReadArray(Short_t *&h)
 Read array of Short_t from buffer
Int_t ReadArray(UShort_t *&h)
 Read array of UShort_t from buffer
Int_t ReadArray(Int_t *&i)
 Read array of Int_t from buffer
Int_t ReadArray(UInt_t *&i)
 Read array of UInt_t from buffer
Int_t ReadArray(Long_t *&l)
 Read array of Long_t from buffer
Int_t ReadArray(ULong_t *&l)
 Read array of ULong_t from buffer
Int_t ReadArray(Long64_t *&l)
 Read array of Long64_t from buffer
Int_t ReadArray(ULong64_t *&l)
 Read array of ULong64_t from buffer
Int_t ReadArray(Float_t *&f)
 Read array of Float_t from buffer
Int_t ReadArray(Double_t *&d)
 Read array of Double_t from buffer
Int_t ReadStaticArray(Bool_t *b)
 Read array of Bool_t from buffer
Int_t ReadStaticArray(Char_t *c)
 Read array of Char_t from buffer
Int_t ReadStaticArray(UChar_t *c)
 Read array of UChar_t from buffer
Int_t ReadStaticArray(Short_t *h)
 Read array of Short_t from buffer
Int_t ReadStaticArray(UShort_t *h)
 Read array of UShort_t from buffer
Int_t ReadStaticArray(Int_t *i)
 Read array of Int_t from buffer
Int_t ReadStaticArray(UInt_t *i)
 Read array of UInt_t from buffer
Int_t ReadStaticArray(Long_t *l)
 Read array of Long_t from buffer
Int_t ReadStaticArray(ULong_t *l)
 Read array of ULong_t from buffer
Int_t ReadStaticArray(Long64_t *l)
 Read array of Long64_t from buffer
Int_t ReadStaticArray(ULong64_t *l)
 Read array of ULong64_t from buffer
Int_t ReadStaticArray(Float_t *f)
 Read array of Float_t from buffer
Int_t ReadStaticArray(Double_t *d)
 Read array of Double_t from buffer
void ReadFastArray(Bool_t *b, Int_t n)
 read array of Bool_t from buffer
void ReadFastArray(Char_t *c, Int_t n)
 read array of Char_t from buffer
 if nodename==CharStar, read all array as string
void ReadFastArray(UChar_t *c, Int_t n)
 read array of UChar_t from buffer
void ReadFastArray(Short_t *h, Int_t n)
 read array of Short_t from buffer
void ReadFastArray(UShort_t *h, Int_t n)
 read array of UShort_t from buffer
void ReadFastArray(Int_t *i, Int_t n)
 read array of Int_t from buffer
void ReadFastArray(UInt_t *i, Int_t n)
 read array of UInt_t from buffer
void ReadFastArray(Long_t *l, Int_t n)
 read array of Long_t from buffer
void ReadFastArray(ULong_t *l, Int_t n)
 read array of ULong_t from buffer
void ReadFastArray(Long64_t *l, Int_t n)
 read array of Long64_t from buffer
void ReadFastArray(ULong64_t *l, Int_t n)
 read array of ULong64_t from buffer
void ReadFastArray(Float_t *f, Int_t n)
 read array of Float_t from buffer
void ReadFastArray(Double_t *d, Int_t n)
 read array of Double_t from buffer
void ReadFastArray(void *start, const TClass *cl, Int_t n, TMemberStreamer *streamer)
 Same functionality as TBuffer::ReadFastArray(...) but
 instead of calling cl->Streamer(obj,buf) call here
 buf.StreamObject(obj, cl). In that case it is easy to understand where
 object data is started and finished
void ReadFastArray(void **start, const TClass *cl, Int_t n, Bool_t isPreAlloc, TMemberStreamer *streamer)
 Same functionality as TBuffer::ReadFastArray(...) but
 instead of calling cl->Streamer(obj,buf) call here
 buf.StreamObject(obj, cl). In that case it is easy to understand where
 object data is started and finished
Int_t SqlReadArraySize()
 Reads array size, written in raw data table.
 Used in ReadArray methods, where TBuffer need to read array size first.
void WriteArray(const Bool_t *b, Int_t n)
 Write array of Bool_t to buffer
void WriteArray(const Char_t *c, Int_t n)
 Write array of Char_t to buffer
void WriteArray(const UChar_t *c, Int_t n)
 Write array of UChar_t to buffer
void WriteArray(const Short_t *h, Int_t n)
 Write array of Short_t to buffer
void WriteArray(const UShort_t *h, Int_t n)
 Write array of UShort_t to buffer
void WriteArray(const Int_t *i, Int_t n)
 Write array of Int_ to buffer
void WriteArray(const UInt_t *i, Int_t n)
 Write array of UInt_t to buffer
void WriteArray(const Long_t *l, Int_t n)
 Write array of Long_t to buffer
void WriteArray(const ULong_t *l, Int_t n)
 Write array of ULong_t to buffer
void WriteArray(const Long64_t *l, Int_t n)
 Write array of Long64_t to buffer
void WriteArray(const ULong64_t *l, Int_t n)
 Write array of ULong64_t to buffer
void WriteArray(const Float_t *f, Int_t n)
 Write array of Float_t to buffer
void WriteArray(const Double_t *d, Int_t n)
 Write array of Double_t to buffer
void WriteFastArray(const Bool_t *b, Int_t n)
 Write array of Bool_t to buffer
void WriteFastArray(const Char_t *c, Int_t n)
 Write array of Char_t to buffer
 it will be reproduced as CharStar node with string as attribute
void WriteFastArray(const UChar_t *c, Int_t n)
 Write array of UChar_t to buffer
void WriteFastArray(const Short_t *h, Int_t n)
 Write array of Short_t to buffer
void WriteFastArray(const UShort_t *h, Int_t n)
 Write array of UShort_t to buffer
void WriteFastArray(const Int_t *i, Int_t n)
 Write array of Int_t to buffer
void WriteFastArray(const UInt_t *i, Int_t n)
 Write array of UInt_t to buffer
void WriteFastArray(const Long_t *l, Int_t n)
 Write array of Long_t to buffer
void WriteFastArray(const ULong_t *l, Int_t n)
 Write array of ULong_t to buffer
void WriteFastArray(const Long64_t *l, Int_t n)
 Write array of Long64_t to buffer
void WriteFastArray(const ULong64_t *l, Int_t n)
 Write array of ULong64_t to buffer
void WriteFastArray(const Float_t *f, Int_t n)
 Write array of Float_t to buffer
void WriteFastArray(const Double_t *d, Int_t n)
 Write array of Double_t to buffer
void WriteFastArray(void *start, const TClass *cl, Int_t n, TMemberStreamer *streamer)
 Same functionality as TBuffer::WriteFastArray(...) but
 instead of calling cl->Streamer(obj,buf) call here
 buf.StreamObject(obj, cl). In that case it is easy to understand where
 object data is started and finished
Int_t WriteFastArray(void **start, const TClass *cl, Int_t n, Bool_t isPreAlloc, TMemberStreamer *streamer)
 Same functionality as TBuffer::WriteFastArray(...) but
 instead of calling cl->Streamer(obj,buf) call here
 buf.StreamObject(obj, cl). In that case it is easy to understand where
 object data is started and finished
void StreamObject(void *obj, const type_info &typeinfo)
 steram object to/from buffer
void StreamObject(void *obj, const char *className)
 steram object to/from buffer
void StreamObject(void *obj, const TClass *cl)
 steram object to/from buffer
void StreamObject(TObject *obj)
 steram object to/from buffer
void StreamObject(void *obj, TMemberStreamer *streamer, const TClass *cl, Int_t n)
 steram object to/from buffer
TBuffer& operator>>(Bool_t &b)
 Reads Bool_t value from buffer
TBuffer& operator>>(Char_t &c)
 Reads Char_t value from buffer
TBuffer& operator>>(UChar_t &c)
 Reads UChar_t value from buffer
TBuffer& operator>>(Short_t &h)
 Reads Short_t value from buffer
TBuffer& operator>>(UShort_t &h)
 Reads UShort_t value from buffer
TBuffer& operator>>(Int_t &i)
 Reads Int_t value from buffer
TBuffer& operator>>(UInt_t &i)
 Reads UInt_t value from buffer
TBuffer& operator>>(Long_t &l)
 Reads Long_t value from buffer
TBuffer& operator>>(ULong_t &l)
 Reads ULong_t value from buffer
TBuffer& operator>>(Long64_t &l)
 Reads Long64_t value from buffer
TBuffer& operator>>(ULong64_t &l)
 Reads ULong64_t value from buffer
TBuffer& operator>>(Float_t &f)
 Reads Float_t value from buffer
TBuffer& operator>>(Double_t &d)
 Reads Double_t value from buffer
TBuffer& operator>>(Char_t *c)
 Reads array of characters from buffer
TBuffer& operator<<(Bool_t b)
 Writes Bool_t value to buffer
TBuffer& operator<<(Char_t c)
 Writes Char_t value to buffer
TBuffer& operator<<(UChar_t c)
 Writes UChar_t value to buffer
TBuffer& operator<<(Short_t h)
 Writes Short_t value to buffer
TBuffer& operator<<(UShort_t h)
 Writes UShort_t value to buffer
TBuffer& operator<<(Int_t i)
 Writes Int_t value to buffer
TBuffer& operator<<(UInt_t i)
 Writes UInt_t value to buffer
TBuffer& operator<<(Long_t l)
 Writes Long_t value to buffer
TBuffer& operator<<(ULong_t l)
 Writes ULong_t value to buffer
TBuffer& operator<<(Long64_t l)
 Writes Long64_t value to buffer
TBuffer& operator<<(ULong64_t l)
 Writes ULong64_t value to buffer
TBuffer& operator<<(Float_t f)
 Writes Float_t value to buffer
TBuffer& operator<<(Double_t d)
 Writes Double_t value to buffer
TBuffer& operator<<(const Char_t *c)
 Writes array of characters to buffer
Bool_t SqlWriteBasic(Char_t value)
 converts Char_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Short_t value)
 converts Short_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Int_t value)
 converts Int_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Long_t value)
 converts Long_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Long64_t value)
 converts Long64_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Float_t value)
 converts Float_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Double_t value)
 converts Double_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Bool_t value)
 converts Bool_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(UChar_t value)
 converts UChar_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(UShort_t value)
 converts UShort_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(UInt_t value)
 converts UInt_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(ULong_t value)
 converts ULong_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(ULong64_t value)
 converts ULong64_t to string and creates correspondent sql structure
Bool_t SqlWriteValue(const char* value, const char* tname)
 create structure in stack, which holds specified value
void SqlReadBasic(Char_t& value)
 read current value from table and convert it to Char_t value
void SqlReadBasic(Short_t& value)
 read current value from table and convert it to Short_t value
void SqlReadBasic(Int_t& value)
 read current value from table and convert it to Int_t value
void SqlReadBasic(Long_t& value)
 read current value from table and convert it to Long_t value
void SqlReadBasic(Long64_t& value)
 read current value from table and convert it to Long64_t value
void SqlReadBasic(Float_t& value)
 read current value from table and convert it to Float_t value
void SqlReadBasic(Double_t& value)
 read current value from table and convert it to Double_t value
void SqlReadBasic(Bool_t& value)
 read current value from table and convert it to Bool_t value
void SqlReadBasic(UChar_t& value)
 read current value from table and convert it to UChar_t value
void SqlReadBasic(UShort_t& value)
 read current value from table and convert it to UShort_t value
void SqlReadBasic(UInt_t& value)
 read current value from table and convert it to UInt_t value
void SqlReadBasic(ULong_t& value)
 read current value from table and convert it to ULong_t value
void SqlReadBasic(ULong64_t& value)
 read current value from table and convert it to ULong64_t value
const char* SqlReadValue(const char* tname)
 read string value from current stack node
const char* SqlReadCharStarValue()
 read CharStar value, if it has special code, request it from large table
TSQLStructure* PushStack()
 Push stack with structurual information about streamed object
TSQLStructure* PopStack()
 Pop stack
TSQLStructure* Stack(Int_t depth)
 returns head of stack
TBufferSQL2(const TBufferSQL2 &)
 TBufferSQL2 objects cannot be copied or assigned
void operator=(const TBufferSQL2 &)
void SetCompressionLevel(int level)
TSQLStructure* GetStructure()
Int_t GetErrorFlag()
void SetIgnoreVerification()
Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)
UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt = kFALSE)
void WriteDouble32(Double_t *d, TStreamerElement *ele=0)
Int_t ReadArrayDouble32(Double_t *&d, TStreamerElement *ele=0)
Int_t ReadStaticArrayDouble32(Double_t *d, TStreamerElement *ele=0)
void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreamerElement *ele=0)
void WriteArrayDouble32(const Double_t *d, Int_t n, TStreamerElement *ele=0)
void WriteFastArrayDouble32(const Double_t *d, Int_t n, TStreamerElement *ele=0)

Author: Sergey Linev 20/11/2005
Last update: root/sql:$Name: $:$Id: TBufferSQL2.cxx,v 1.13 2006/06/22 08:21:22 brun Exp $
Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *


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.