#include "TBuffer.h"#include "TFile.h"#include "TClass.h"#include "TBufferFile.h"#include "TClonesArray.h"#include "TError.h"#include "TRef.h"#include "TProcessID.h"#include "TStreamer.h"#include "TStreamerElement.h"#include "TStreamerInfo.h"#include "TVirtualCollectionProxy.h"#include "TContainerConverters.h"#include "TVirtualArray.h"#include "TVirtualObject.h"Go to the source code of this file.
Defines | |
| #define | DOLOOP for(Int_t k=0; k<narr; ++k) |
| #define | ReadBasicTypeElem(name, index) |
| #define | ReadBasicType(name) |
| #define | ReadBasicTypeLoop(name) |
| #define | ReadBasicArrayElem(name, index) |
| #define | ReadBasicArray(name) |
| #define | ReadBasicArrayLoop(name) |
| #define | ReadBasicPointerElem(name, index) |
| #define | ReadBasicPointer(name) |
| #define | ReadBasicPointerLoop(name) |
| #define | SkipCBasicType(name) |
| #define | SkipCFloat16(name) |
| #define | SkipCDouble32(name) |
| #define | SkipCBasicArray(name, ReadArrayFunc) |
| #define | SkipCBasicPointer(name, ReadArrayFunc) |
| #define | ConvCBasicType(name, stream) |
| #define | ConvCBasicArrayTo(newtype) |
| #define | ConvCBasicArray(name, ReadArrayFunc) |
| #define | ConvCBasicPointerTo(newtype, ReadArrayFunc) |
| #define | ConvCBasicPointer(name, ReadArrayFunc) |
Functions | |
| template<class T> | |
| Bool_t | R__TestUseCache (TStreamerElement *element) |
| template<> | |
| Bool_t | R__TestUseCache< TVirtualArray > (TStreamerElement *) |
| #define ConvCBasicArray | ( | name, | |||
| ReadArrayFunc | ) |
Value:
{ \
int j, len = fLength[i]; \
name* readbuf = new name[len]; \
int newtype = fNewType[i]%20; \
DOLOOP { \
b.ReadArrayFunc(readbuf, len); \
switch(newtype) { \
case TStreamerInfo::kBool: ConvCBasicArrayTo(Bool_t); \
case TStreamerInfo::kChar: ConvCBasicArrayTo(Char_t); \
case TStreamerInfo::kShort: ConvCBasicArrayTo(Short_t); \
case TStreamerInfo::kInt: ConvCBasicArrayTo(Int_t); \
case TStreamerInfo::kLong: ConvCBasicArrayTo(Long_t); \
case TStreamerInfo::kLong64: ConvCBasicArrayTo(Long64_t); \
case TStreamerInfo::kFloat: ConvCBasicArrayTo(Float_t); \
case TStreamerInfo::kFloat16: ConvCBasicArrayTo(Float_t); \
case TStreamerInfo::kDouble: ConvCBasicArrayTo(Double_t); \
case TStreamerInfo::kDouble32: ConvCBasicArrayTo(Double_t); \
case TStreamerInfo::kUChar: ConvCBasicArrayTo(UChar_t); \
case TStreamerInfo::kUShort: ConvCBasicArrayTo(UShort_t); \
case TStreamerInfo::kUInt: ConvCBasicArrayTo(UInt_t); \
case TStreamerInfo::kULong: ConvCBasicArrayTo(ULong_t); \
case TStreamerInfo::kULong64: ConvCBasicArrayTo(ULong64_t); \
} \
} \
delete[] readbuf; \
break; \
}
Definition at line 391 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBufferConv().
| #define ConvCBasicArrayTo | ( | newtype | ) |
| #define ConvCBasicPointer | ( | name, | |||
| ReadArrayFunc | ) |
Definition at line 435 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBufferConv().
| #define ConvCBasicPointerTo | ( | newtype, | |||
| ReadArrayFunc | ) |
Value:
{ \
newtype **f=(newtype**)(arr[k]+ioffset); \
for (j=0;j<len;j++) { \
delete [] f[j]; \
f[j] = 0; \
if (*l <=0 || *l > b.BufferSize()) continue; \
f[j] = new newtype[*l]; \
newtype *af = f[j]; \
b.ReadArrayFunc(readbuf, *l); \
for (jj=0;jj<*l;jj++) af[jj] = (newtype)readbuf[jj]; \
} \
break; \
}
Definition at line 420 of file TStreamerInfoReadBuffer.cxx.
| #define ConvCBasicType | ( | name, | |||
| stream | ) |
Value:
{ \
DOLOOP { \
name u; \
stream; \
switch(fNewType[i]) { \
case TStreamerInfo::kBool: {Bool_t *x=(Bool_t*)(arr[k]+ioffset); *x = (Bool_t)u; break;} \
case TStreamerInfo::kChar: {Char_t *x=(Char_t*)(arr[k]+ioffset); *x = (Char_t)u; break;} \
case TStreamerInfo::kShort: {Short_t *x=(Short_t*)(arr[k]+ioffset); *x = (Short_t)u; break;} \
case TStreamerInfo::kInt: {Int_t *x=(Int_t*)(arr[k]+ioffset); *x = (Int_t)u; break;} \
case TStreamerInfo::kLong: {Long_t *x=(Long_t*)(arr[k]+ioffset); *x = (Long_t)u; break;} \
case TStreamerInfo::kLong64: {Long64_t *x=(Long64_t*)(arr[k]+ioffset); *x = (Long64_t)u; break;} \
case TStreamerInfo::kFloat: {Float_t *x=(Float_t*)(arr[k]+ioffset); *x = (Float_t)u; break;} \
case TStreamerInfo::kFloat16: {Float_t *x=(Float_t*)(arr[k]+ioffset); *x = (Float_t)u; break;} \
case TStreamerInfo::kDouble: {Double_t *x=(Double_t*)(arr[k]+ioffset); *x = (Double_t)u; break;} \
case TStreamerInfo::kDouble32:{Double_t *x=(Double_t*)(arr[k]+ioffset); *x = (Double_t)u; break;} \
case TStreamerInfo::kUChar: {UChar_t *x=(UChar_t*)(arr[k]+ioffset); *x = (UChar_t)u; break;} \
case TStreamerInfo::kUShort: {UShort_t *x=(UShort_t*)(arr[k]+ioffset); *x = (UShort_t)u; break;} \
case TStreamerInfo::kUInt: {UInt_t *x=(UInt_t*)(arr[k]+ioffset); *x = (UInt_t)u; break;} \
case TStreamerInfo::kULong: {ULong_t *x=(ULong_t*)(arr[k]+ioffset); *x = (ULong_t)u; break;} \
case TStreamerInfo::kULong64: {ULong64_t*x=(ULong64_t*)(arr[k]+ioffset);*x = (ULong64_t)u;break;} \
} \
} break; \
}
Definition at line 359 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBufferConv().
| #define DOLOOP for(Int_t k=0; k<narr; ++k) |
Definition at line 30 of file TStreamerInfoReadBuffer.cxx.
| #define ReadBasicArray | ( | name | ) |
Value:
{ \
ReadBasicArrayElem(name,0); \
}
Definition at line 54 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBuffer().
| #define ReadBasicArrayElem | ( | name, | |||
| index | ) |
| #define ReadBasicArrayLoop | ( | name | ) |
Value:
Definition at line 59 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBuffer().
| #define ReadBasicPointer | ( | name | ) |
Value:
{ \
const int imethod = fMethod[i]+eoffset; \
ReadBasicPointerElem(name,0); \
}
Definition at line 80 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBuffer().
| #define ReadBasicPointerElem | ( | name, | |||
| index | ) |
Value:
{ \
Char_t isArray; \
b >> isArray; \
Int_t *l = (Int_t*)(arr[index]+imethod); \
if (*l < 0 || *l > b.BufferSize()) continue; \
name **f = (name**)(arr[index]+ioffset); \
int j; \
if (isArray) for(j=0;j<fLength[i];j++) { \
delete [] f[j]; \
f[j] = 0; if (*l <=0) continue; \
f[j] = new name[*l]; \
b.ReadFastArray(f[j],*l); \
} \
}
Definition at line 64 of file TStreamerInfoReadBuffer.cxx.
| #define ReadBasicPointerLoop | ( | name | ) |
Value:
{ \
int imethod = fMethod[i]+eoffset; \
for(int k=0; k<narr; ++k) { \
ReadBasicPointerElem(name,k); \
} \
}
Definition at line 86 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBuffer().
| #define ReadBasicType | ( | name | ) |
Value:
{ \
ReadBasicTypeElem(name,0); \
}
Definition at line 38 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBuffer().
| #define ReadBasicTypeElem | ( | name, | |||
| index | ) |
| #define ReadBasicTypeLoop | ( | name | ) |
Value:
Definition at line 43 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBuffer().
| #define SkipCBasicArray | ( | name, | |||
| ReadArrayFunc | ) |
Value:
{ \
name* readbuf = new name[fLength[i]]; \
DOLOOP { \
b.ReadArrayFunc(readbuf, fLength[i]); \
} \
delete[] readbuf; \
break; \
}
Definition at line 115 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBufferSkip().
| #define SkipCBasicPointer | ( | name, | |||
| ReadArrayFunc | ) |
Value:
{ \
Int_t addCounter = -111; \
if ((imethod>0) && (fMethod[i]>0)) addCounter = -1; \
if((addCounter<-1) && (aElement!=0) && (aElement->IsA()==TStreamerBasicPointer::Class())) { \
TStreamerElement* elemCounter = (TStreamerElement*) thisVar->GetElements()->FindObject(((TStreamerBasicPointer*)aElement)->GetCountName()); \
if (elemCounter) addCounter = elemCounter->GetTObjectOffset(); \
} \
if (addCounter>=-1) { \
int len = aElement->GetArrayDim()?aElement->GetArrayLength():1; \
Char_t isArray; \
DOLOOP { \
b >> isArray; \
char *arr_k = arr[k]; \
Int_t *l = (addCounter==-1 && arr_k) ? (Int_t*)(arr_k+imethod) : &addCounter; \
if (*l>0) { \
name* readbuf = new name[*l]; \
for (int j=0;j<len;j++) \
b.ReadArrayFunc(readbuf, *l); \
delete[] readbuf; \
} \
} \
} \
break; \
}
Definition at line 125 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBufferSkip().
| #define SkipCBasicType | ( | name | ) |
Value:
Definition at line 94 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBufferSkip().
| #define SkipCDouble32 | ( | name | ) |
Value:
Definition at line 108 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBufferSkip().
| #define SkipCFloat16 | ( | name | ) |
Value:
Definition at line 101 of file TStreamerInfoReadBuffer.cxx.
Referenced by TStreamerInfo::ReadBufferSkip().
| Bool_t @5095::R__TestUseCache | ( | TStreamerElement * | element | ) | [static] |
Definition at line 662 of file TStreamerInfoReadBuffer.cxx.
References TStreamerElement::kCache, and TObject::TestBit().
| Bool_t @5095::R__TestUseCache< TVirtualArray > | ( | TStreamerElement * | ) | [static] |
1.5.1