39# define INLINE_TEMPLATE_ARGS
41# define INLINE_TEMPLATE_ARGS inline
57 template <
typename From>
62 template <
typename From>
105 printf(
"StreamerInfoAction, class:%s, name=%s, fType[%d]=%d,"
106 " %s, offset=%d (%s), elemnId=%d \n",
122 printf(
"StreamerInfoAction, class:%s, name=%s, fType[%d]=%d,"
123 " %s, bufpos=%d, arr=%p, offset=%d (%s)\n",
133 printf(
"TLoopConfiguration: unconfigured\n");
165 printf(
"StreamerInfoAction, class:%s, name=%s, fType[%d]=%d,"
166 " %s, offset=%d (%s)\n",
193 char *obj = (
char*)
addr;
200 char *obj = (
char*)
addr;
205 template <
typename T>
250 template <
typename T>
344 template<
bool kIsTextT>
359 && !(
vClass->HasCustomStreamerMember()) ) {
407 template<
bool kIsTextT>
431 Error(
"ReadBuffer",
"Unfortunately, version %d of TStreamerInfo (used in %s) did not record enough information to convert a %s into a %s.",
483 if (
cont ==
nullptr) {
504 template<
bool kIsTextT>
521 (*pstreamer)(buf, (
char *)
addr +
ioffset , *counter);
523 buf.SetByteCount(pos,
kTRUE);
619 char**
r = (
char**) pp[
ndx];
637 template<
bool kIsTextT>
660 (*pstreamer)(buf, (
char *)
addr +
ioffset , *counter);
753 Error(
"ReadBuffer",
"Memory allocation failed!\n");
760 pp[
ndx] = (
char *)
new char *[
vlen];
762 Error(
"ReadBuffer",
"Memory allocation failed!\n");
843 Error(
"ReadBuffer",
"Memory allocation failed!\n");
850 pp[
ndx] = (
char *)
new char *[
vlen];
852 Error(
"ReadBuffer",
"Memory allocation failed!\n");
869 char **
r = (
char **)pp[
ndx];
873 r[
v] = (
char *)cl->
New();
895 TConfWithFactor(
TVirtualStreamerInfo *
info,
UInt_t id,
TCompInfo_t *
compinfo,
Int_t offset,
Double_t factor,
Double_t xmin) :
TConfiguration(
info,id,
compinfo,
offset),
fFactor(factor),
fXmin(
xmin) {};
899 template <
typename T>
918 template <
typename T>
990 TConfiguration(
info,id,
compinfo,
offset,
length),
fOldClass(
oldClass),
fNewClass(
oldClass),
fStreamer(0),
fTypeName(
type_name),
fIsSTLBase(
isbase),
994 TConfiguration(
info,id,
compinfo,
offset,
length),
fOldClass(
oldClass),
fNewClass(
newClass),
fStreamer(0),
fTypeName(
type_name),
fIsSTLBase(
isbase),
998 TConfiguration(
info,id,
compinfo,
offset,
length),
fOldClass(
oldClass),
fNewClass(
oldClass),
fStreamer(
streamer),
fTypeName(
type_name),
fIsSTLBase(
isbase),
1002 TConfiguration(
info,id,
compinfo,
offset,
length),
fOldClass(
oldClass),
fNewClass(
newClass),
fStreamer(
streamer),
fTypeName(
type_name),
fIsSTLBase(
isbase),
1115 if (iter != &iterator[0]) {
1151 void *end = &(
endbuf[0]);
1210 char *obj = (
char*)
addr;
1222 void *end = &(
endbuf[0]);
1246 char *obj = (
char*)
addr;
1278 Error(
"ReadSTLMemberWiseChangedClass",
"Unfortunately, version %d of TStreamerInfo (used in %s) did not record enough information to convert a %s into a %s.",
1296 void *end = &(
endbuf[0]);
1322 Error(
"ReadSTLMemberWiseChangedClass",
"Unfortunately, version %d of TStreamerInfo (used in %s) did not record enough information to convert a %s into a %s.",
1332 char *obj = (
char*)
addr;
1345 void *end = &(
endbuf[0]);
1413 template <
typename From,
typename To>
1425 template <
typename To>
1442 template <
typename From,
typename To>
1455 template <
typename From,
typename To>
1481 printf(
"StreamerInfoAction, class:%s, PushDataCache offset=%d\n",
1484 printf(
"StreamerInfoAction, class:%s, PopDataCache offset=%d\n",
1491 printf(
"StreamerInfoAction, class:%s, %sDataCache, bufpos=%d, arr=%p, offset=%d, onfileObject=%p\n",
1566 fprintf(
stdout,
"StreamerInfoAction, class:%s, name=%s, fType[%d]=%d,"
1567 " %s, bufpos=%d, arr=%p, eoffset=%d, Redirect=%p\n",
1569 aElement->ClassName(),
b.Length(),
addr, 0,
b.PeekDataCache() ?
b.PeekDataCache()->GetObjectAt(0) : 0);
1591 Warning(
"ReadBuffer",
"Skipping %s::%s because the cache is missing.",
info->GetName(),
aElement->GetName());
1592 char *ptr = (
char*)
addr;
1613 Warning(
"ReadBuffer",
"Skipping %s::%s because the cache is missing.",
info->GetName(),
aElement->GetName());
1614 char *ptr = (
char*)start;
1615 UInt_t n = (((
void**)end)-((
void**)start));
1639 Warning(
"ReadBuffer",
"Skipping %s::%s because the cache is missing.",
info->GetName(),
aElement->GetName());
1640 char *ptr = (
char*)start;
1667 Warning(
"ReadBuffer",
"Skipping %s::%s because the cache is missing.",
info->GetName(),
aElement->GetName());
1721 template <
typename T>
1725 iter = (
char*)iter + config->
fOffset;
1726 end = (
char*)end + config->
fOffset;
1727 for(; iter != end; iter = (
char*)iter +
incr ) {
1728 T *
x = (T*) ((
char*) iter);
1734 template <
typename From,
typename To>
1741 iter = (
char*)iter + config->
fOffset;
1742 end = (
char*)end + config->
fOffset;
1743 for(; iter != end; iter = (
char*)iter +
incr ) {
1745 *(
To*)( ((
char*)iter) ) = (
To)temp;
1751 template <
typename To>
1758 iter = (
char*)iter + config->
fOffset;
1759 end = (
char*)end + config->
fOffset;
1760 for(; iter != end; iter = (
char*)iter +
incr ) {
1767 *(
To*)( ((
char*)iter) ) = (
To)temp;
1773 template <
typename From,
typename To>
1781 iter = (
char*)iter + config->
fOffset;
1782 end = (
char*)end + config->
fOffset;
1783 for(; iter != end; iter = (
char*)iter +
incr ) {
1785 *(
To*)( ((
char*)iter) ) = (
To)temp;
1791 template <
typename From,
typename To>
1799 iter = (
char*)iter + config->
fOffset;
1800 end = (
char*)end + config->
fOffset;
1801 for(; iter != end; iter = (
char*)iter +
incr ) {
1803 *(
To*)( ((
char*)iter) ) = (
To)temp;
1809 template <
typename T>
1813 iter = (
char*)iter + config->
fOffset;
1814 end = (
char*)end + config->
fOffset;
1815 for(; iter != end; iter = (
char*)iter +
incr ) {
1816 T *
x = (T*) ((
char*) iter);
1822 template <Int_t (*iter_action)(TBuffer&,
void *,const TConfiguration*)>
1828 for(
void *iter = start; iter != end; iter = (
char*)iter +
incr ) {
1843 for(
void *iter = start; iter != end; iter = (
char*)iter +
incr, ++i ) {
1880 for(
void *iter = start; iter != end; iter = (
char*)iter +
incr, ++i ) {
1896 for(
void *iter = start; iter != end; iter = (
char*)iter +
incr, ++i ) {
1904 template <
typename T>
1913 std::vector<T> *
const vec = (std::vector<T>*)(((
char*)
addr)+config->
fOffset);
1918#ifdef R__VISUAL_CPLUSPLUS
1924 T *begin = &(*
vec->begin());
1939 std::vector<bool> *
const vec = (std::vector<bool>*)(((
char*)
addr)+config->
fOffset);
1947 (*vec)[i] =
items[i];
1970 std::vector<float> *
const vec = (std::vector<float>*)(((
char*)
addr)+config->
fOffset);
1975#ifdef R__VISUAL_CPLUSPLUS
1981 float *begin = &(*
vec->begin());
1996 std::vector<double> *
const vec = (std::vector<double>*)(((
char*)
addr)+config->
fOffset);
2001#ifdef R__VISUAL_CPLUSPLUS
2007 double *begin = &(*
vec->begin());
2014 template <
typename From,
typename To>
2024 std::vector<To> *
const vec = (std::vector<To>*)(((
char*)
addr)+config->
fOffset);
2041 template <
typename From,
typename To>
2051 std::vector<To> *
const vec = (std::vector<To>*)(((
char*)
addr)+config->
fOffset);
2068 template <
typename To>
2077 std::vector<To> *
const vec = (std::vector<To>*)(((
char*)
addr)+config->
fOffset);
2097 template <
typename T>
2102 for(; iter != end; iter = (
char*)iter +
sizeof(
void*) ) {
2103 T *
x = (T*)( ((
char*) (*(
void**)iter) ) +
offset );
2109 template <
typename From,
typename To>
2116 for(; iter != end; iter = (
char*)iter +
sizeof(
void*) ) {
2118 To *
x = (
To*)( ((
char*) (*(
void**)iter) ) +
offset );
2125 template <
typename To>
2132 for(; iter != end; iter = (
char*)iter +
sizeof(
void*) ) {
2139 To *
x = (
To*)( ((
char*) (*(
void**)iter) ) +
offset );
2146 template <
typename From,
typename To>
2154 for(; iter != end; iter = (
char*)iter +
sizeof(
void*) ) {
2156 To *
x = (
To*)( ((
char*) (*(
void**)iter) ) +
offset );
2163 template <
typename From,
typename To>
2171 for(; iter != end; iter = (
char*)iter +
sizeof(
void*) ) {
2173 To *
x = (
To*)( ((
char*) (*(
void**)iter) ) +
offset );
2180 template <
typename T>
2185 for(; iter != end; iter = (
char*)iter +
sizeof(
void*) ) {
2186 T *
x = (T*)( ((
char*) (*(
void**)iter) ) +
offset );
2192 template <Int_t (*action)(TBuffer&,
void *,const TConfiguration*)>
2195 for(
void *iter = start; iter != end; iter = (
char*)iter +
sizeof(
void*) ) {
2196 action(buf, *(
void**)iter, config);
2211 Int_t n = ( ((
void**)end) - ((
void**)iter) );
2212 char **
arr = (
char**)iter;
2218 Int_t n = ( ((
void**)end) - ((
void**)iter) );
2219 char **
arr = (
char**)iter;
2227 template <
typename T>
2243 template <
typename T,
void (*action)(TBuffer&,
void *,Int_t)>
2263 void *end = &(
endbuf[0]);
2296 template <
typename T>
2302 template <
typename From,
typename To>
2316 template <
typename From,
typename To>
2330 template <
typename From,
typename To>
2345 template <
typename From,
typename To>
2357 template <
typename T>
2366 void *iter =
loopconfig->fCopyIterator(iterator,start);
2368 while( (
addr = next(iter,end)) ) {
2372 if (iter != &iterator[0]) {
2378 template <
typename T>
2387 void *iter =
loopconfig->fCopyIterator(iterator,start);
2389 while( (
addr = next(iter,end)) ) {
2393 if (iter != &iterator[0]) {
2399 template <Int_t (*iter_action)(TBuffer&,
void *,const TConfiguration*)>
2408 void *iter =
loopconfig->fCopyIterator(&iterator,start);
2410 while( (
addr = next(iter,end)) ) {
2413 if (iter != &iterator[0]) {
2419 template <
typename From,
typename To>
2429 void *iter =
loopconfig->fCopyIterator(&iterator,start);
2431 while( (
addr = next(iter,end)) ) {
2436 if (iter != &iterator[0]) {
2442 template <
typename From,
typename To>
2454 while( (
addr = next(iter,end)) ) {
2462 template <
typename From,
typename To,
template <
typename F,
typename T>
class Converter = Generic >
2480 template <
typename To>
2497 void *iter =
loopconfig->fCopyIterator(&iterator,start);
2499 while( (
addr = next(iter,end)) ) {
2508 if (iter != &iterator[0]) {
2517 template <
typename From,
typename To,
template <
typename F,
typename T>
class Converter >
2537 template <
typename From,
typename To,
template <
typename F,
typename T>
class Converter >
2579 template <
typename T>
2598 template <
typename ActionHolder>
2618 void *end = &(
endbuf[0]);
2624 ActionHolder::Action(buf,begin,end,&
loopconf,config);
2654 template <
typename T>
2662 template <
typename From,
typename To>
2674template <
typename Looper,
typename From>
2702template <
class Looper>
2722 case TStreamerInfo::kBits:
Error(
"GetNumericCollectionReadAction",
"There is no support for kBits outside of a TObject.");
break;
2753 Fatal(
"GetNumericCollectionReadAction",
"Is confused about %d",
type);
2758template <
typename Looper,
typename From>
2781 Error(
"GetConvertCollectionReadActionFrom",
"UNEXPECTED: newtype == %d",
newtype);
2786template <
typename Looper>
2836 Error(
"GetConvertCollectionReadAction",
"There is no support for kBits outside of a TObject.");
2841 Error(
"GetConvertCollectionReadAction",
"UNEXPECTED: oldtype == %d",
oldtype);
2846template <
class Looper>
2866 if (
element->GetFactor() != 0) {
2876 if (
element->GetFactor() != 0) {
2943 if (
element->GetFactor() != 0) {
2953 if (
element->GetFactor() != 0) {
2973template <
class Looper>
3099 for (i = 0; i <
ndata; ++i) {
3106 if (
element->GetArrayLength()) {
3127 && (
element->GetArrayDim() == 0)
3161 }
else if (
element->GetType() < 0) {
3192 Warning(
"Compile",
"Counter %s should not be skipped from class %s",
element->GetName(),
GetName());
3217 for (i = 0; i <
fNdata; ++i) {
3246template <
typename From>
3295 if (
element->GetFactor() != 0) {
3305 if (
element->GetFactor() != 0) {
3327 if (
element->GetArrayLength() <= 1) {
3331 readSequence->AddAction(
ReadSTL<ReadSTLMemberWiseChangedClass,ReadSTLObjectWiseStreamerV2>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,1,
oldClass,
newClass,
element->GetStreamer(),
element->GetTypeName(),
isSTLbase));
3333 readSequence->AddAction(
ReadSTL<ReadSTLMemberWiseChangedClass,ReadSTLObjectWiseFastArrayV2>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,1,
oldClass,
newClass,
element->GetTypeName(),
isSTLbase));
3337 readSequence->AddAction(
ReadSTL<ReadSTLMemberWiseSameClass,ReadSTLObjectWiseStreamerV2>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,1,
oldClass,
element->GetStreamer(),
element->GetTypeName(),
isSTLbase));
3345 readSequence->AddAction(
ReadSTL<ReadSTLMemberWiseChangedClass,ReadSTLObjectWiseStreamer>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,1,
oldClass,
newClass,
element->GetStreamer(),
element->GetTypeName(),
isSTLbase));
3347 if (
oldClass->GetCollectionProxy() == 0 ||
oldClass->GetCollectionProxy()->GetValueClass() ||
oldClass->GetCollectionProxy()->HasPointers() ) {
3348 readSequence->AddAction(
ReadSTL<ReadSTLMemberWiseChangedClass,ReadSTLObjectWiseFastArray>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,1,
oldClass,
newClass,
element->GetTypeName(),
isSTLbase));
3352 readSequence->AddAction(
GetConvertCollectionReadAction<VectorLooper>(
oldClass->GetCollectionProxy()->GetType(),
newClass->GetCollectionProxy()->GetType(),
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,1,
oldClass,
newClass,
element->GetTypeName(),
isSTLbase)));
3355 readSequence->AddAction(
GetConvertCollectionReadAction<AssociativeLooper>(
oldClass->GetCollectionProxy()->GetType(),
newClass->GetCollectionProxy()->GetType(),
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,1,
oldClass,
newClass,
element->GetTypeName(),
isSTLbase)));
3361 readSequence->AddAction(
GetConvertCollectionReadAction<GenericLooper>(
oldClass->GetCollectionProxy()->GetType(),
newClass->GetCollectionProxy()->GetType(),
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,1,
oldClass,
newClass,
element->GetTypeName(),
isSTLbase)));
3368 readSequence->AddAction(
ReadSTL<ReadSTLMemberWiseSameClass,ReadSTLObjectWiseStreamer>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,1,
oldClass,
element->GetStreamer(),
element->GetTypeName(),
isSTLbase));
3370 if (
oldClass->GetCollectionProxy() == 0 ||
oldClass->GetCollectionProxy()->GetValueClass() ||
oldClass->GetCollectionProxy()->HasPointers() ) {
3395 readSequence->AddAction(
ReadSTL<ReadArraySTLMemberWiseChangedClass,ReadSTLObjectWiseStreamerV2>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,
element->GetArrayLength(),
oldClass,
newClass,
element->GetStreamer(),
element->GetTypeName(),
isSTLbase));
3397 readSequence->AddAction(
ReadSTL<ReadArraySTLMemberWiseChangedClass,ReadSTLObjectWiseFastArrayV2>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,
element->GetArrayLength(),
oldClass,
newClass,
element->GetTypeName(),
isSTLbase));
3401 readSequence->AddAction(
ReadSTL<ReadArraySTLMemberWiseSameClass,ReadSTLObjectWiseStreamerV2>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,
element->GetArrayLength(),
oldClass,
element->GetStreamer(),
element->GetTypeName(),
isSTLbase));
3409 readSequence->AddAction(
ReadSTL<ReadArraySTLMemberWiseChangedClass,ReadSTLObjectWiseStreamer>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,
element->GetArrayLength(),
oldClass,
newClass,
element->GetStreamer(),
element->GetTypeName(),
isSTLbase));
3411 readSequence->AddAction(
ReadSTL<ReadArraySTLMemberWiseChangedClass,ReadSTLObjectWiseFastArray>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,
element->GetArrayLength(),
oldClass,
newClass,
element->GetTypeName(),
isSTLbase));
3415 readSequence->AddAction(
ReadSTL<ReadArraySTLMemberWiseSameClass,ReadSTLObjectWiseStreamer>,
new TConfigSTL(
this,i,
compinfo,
compinfo->fOffset,
element->GetArrayLength(),
oldClass,
element->GetStreamer(),
element->GetTypeName(),
isSTLbase));
3468 if (
element->GetFactor() != 0) {
3478 if (
element->GetFactor() != 0) {
3554 default:
generic =
kTRUE;
break;
3682#if defined(CDJ_NO_COMPILE)
3862 default:
generic =
kTRUE;
break;
3878#if defined(CDJ_NO_COMPILE)
3903#if defined(CDJ_NO_COMPILE)
3931 if (
proxy.HasPointers()) {
3978 ::Warning(
"CreateReadMemberWiseActions",
"%s",
3979 baseEl->GetErrorMessage());
4044 if (
proxy.HasPointers()) {
4089#if defined(CDJ_NO_COMPILE)
4140 if (
element->GetFactor() != 0) {
4150 if (
element->GetFactor() != 0) {
4196 TStreamerInfoActions::ActionContainer_t::iterator end = fActions.end();
4197 for(TStreamerInfoActions::ActionContainer_t::iterator iter = fActions.begin();
4202 if (iter->fConfiguration->fElemId != (
UInt_t)-1 &&
4204 iter->fConfiguration->AddToOffset(delta);
4213 TStreamerInfoActions::ActionContainer_t::iterator end = fActions.end();
4214 for(TStreamerInfoActions::ActionContainer_t::iterator iter = fActions.begin();
4218 if (!iter->fConfiguration->fInfo->GetElements()->At(iter->fConfiguration->fElemId)->TestBit(
TStreamerElement::kCache))
4219 iter->fConfiguration->SetMissing();
4229 sequence->fLoopConfig = fLoopConfig ? fLoopConfig->Copy() : 0;
4231 TStreamerInfoActions::ActionContainer_t::iterator end = fActions.end();
4232 for(TStreamerInfoActions::ActionContainer_t::iterator iter = fActions.begin();
4251 sequence->fLoopConfig ?
sequence->fLoopConfig->GetCollectionProxy() :
nullptr,
4257 else if (
sequence->IsForVectorPtrLooper() )
4270 else if (
sequence->IsForVectorPtrLooper() )
4276 TStreamerInfoActions::ActionContainer_t::iterator end = fActions.end();
4277 for(TStreamerInfoActions::ActionContainer_t::iterator iter = fActions.begin();
4282 if (!iter->fConfiguration->fInfo->GetElements()->At(iter->fConfiguration->fElemId)->TestBit(
TStreamerElement::kCache))
4288 TStreamerInfoActions::ActionContainer_t::iterator end = fActions.end();
4289 for(TStreamerInfoActions::ActionContainer_t::iterator iter = fActions.begin();
4294 if (!iter->fConfiguration->fInfo->GetElements()->At(iter->fConfiguration->fElemId)->TestBit(
TStreamerElement::kCache))
4311 sequence->fLoopConfig = fLoopConfig ? fLoopConfig->Copy() : 0;
4325 sequence->fLoopConfig = fLoopConfig ? fLoopConfig->Copy() : 0;
4329 TStreamerInfoActions::ActionContainer_t::iterator end = fActions.end();
4330 for(TStreamerInfoActions::ActionContainer_t::iterator iter = fActions.begin();
4335 if (!iter->fConfiguration->fInfo->GetElements()->At(iter->fConfiguration->fElemId)->TestBit(
TStreamerElement::kCache))
4340 TStreamerInfoActions::ActionContainer_t::iterator end = fActions.end();
4341 for(TStreamerInfoActions::ActionContainer_t::iterator iter = fActions.begin();
4346 if (!iter->fConfiguration->fInfo->GetElements()->At(iter->fConfiguration->fElemId)->TestBit(
TStreamerElement::kCache))
4356#if !defined(R__WIN32) && !defined(_AIX)
4365#if defined(R__WIN32) || defined(__CYGWIN__) || defined(_AIX)
4366 return "not available on this platform";
4387 return "name not found";
4390 return info.dli_sname;
4402 fLoopConfig->Print();
4404 TStreamerInfoActions::ActionContainer_t::const_iterator end = fActions.end();
4405 for(TStreamerInfoActions::ActionContainer_t::const_iterator iter = fActions.begin();
4409 iter->fConfiguration->Print();
4410 if (
strstr(opt,
"func")) {
virtual RooAbsTestStatistic * create(const char *name, const char *title, RooAbsReal &real, RooAbsData &data, const RooArgSet &projDeps, Configuration const &cfg)=0
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
void Fatal(const char *location, const char *msgfmt,...)
Use this function in case of a fatal error. It will abort the program.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h length
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
R__EXTERN TVirtualMutex * gInterpreterMutex
static TConfiguredAction GetNumericCollectionReadAction(Int_t type, TConfigSTL *conf)
static void AddReadConvertAction(TStreamerInfoActions::TActionSequence *sequence, Int_t newtype, TConfiguration *conf)
static TConfiguredAction GetCollectionReadConvertAction(Int_t newtype, TConfiguration *conf)
static TConfiguredAction GetCollectionReadAction(TVirtualStreamerInfo *info, TStreamerElement *element, Int_t type, UInt_t i, TStreamerInfo::TCompInfo_t *compinfo, Int_t offset)
static const Int_t kRegrouped
#define INLINE_TEMPLATE_ARGS
static const char * R__GetSymbolName(voidfunc func)
static TConfiguredAction GetConvertCollectionReadAction(Int_t oldtype, Int_t newtype, TConfiguration *conf)
static TConfiguredAction GetCollectionWriteAction(TVirtualStreamerInfo *info, TStreamerElement *, Int_t type, UInt_t i, TStreamerInfo::TCompInfo_t *compinfo, Int_t offset)
static TConfiguredAction GetConvertCollectionReadActionFrom(Int_t newtype, TConfiguration *conf)
#define ReadBasicType(name)
#define WriteBasicType(name)
void ReadBuffer(char *&buffer) override
#define R__LOCKGUARD(mutex)
Base class for text-based streamers like TBufferJSON or TBufferXML Special actions list will use meth...
Buffer base class used for serializing objects.
virtual void ReadWithNbits(Float_t *ptr, Int_t nbits)=0
virtual void ReadWithFactor(Float_t *ptr, Double_t factor, Double_t minvalue)=0
virtual Version_t ReadVersion(UInt_t *start=nullptr, UInt_t *bcnt=nullptr, const TClass *cl=nullptr)=0
virtual Version_t ReadVersionForMemberWise(const TClass *cl=nullptr)=0
virtual TProcessID * ReadProcessID(UShort_t pidf)=0
Return the current Process-ID.
virtual UInt_t WriteVersionMemberWise(const TClass *cl, Bool_t useBcnt=kFALSE)=0
virtual void SetByteCount(UInt_t cntpos, Bool_t packInVersion=kFALSE)=0
virtual void ReadInt(Int_t &i)=0
TObject * GetParent() const
Return pointer to parent of this buffer.
virtual UShort_t GetPidOffset() const =0
@ kCannotHandleMemberWiseStreaming
virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreamerElement *ele=nullptr)=0
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
virtual void ReadFastArray(Bool_t *b, Int_t n)=0
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=nullptr)=0
virtual Int_t ApplySequence(const TStreamerInfoActions::TActionSequence &sequence, void *object)=0
virtual void ReadFastArrayWithNbits(Float_t *ptr, Int_t n, Int_t nbits)=0
void SetBufferOffset(Int_t offset=0)
virtual void WriteFastArray(const Bool_t *b, Long64_t n)=0
virtual void ReadFastArrayWithFactor(Float_t *ptr, Int_t n, Double_t factor, Double_t minvalue)=0
virtual UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt=kFALSE)=0
virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerElement *ele=nullptr)=0
virtual void StreamObject(void *obj, const std::type_info &typeinfo, const TClass *onFileClass=nullptr)=0
TClass instances represent classes, structs and namespaces in the ROOT type system.
void Streamer(void *obj, TBuffer &b, const TClass *onfile_class=nullptr) const
Bool_t CanSplit() const
Return true if the data member of this TClass can be saved separately.
void * NewArray(Long_t nElements, ENewType defConstructor=kClassNew) const
Return a pointer to a newly allocated array of objects of this class.
void * New(ENewType defConstructor=kClassNew, Bool_t quiet=kFALSE) const
Return a pointer to a newly allocated object of this class.
Int_t Size() const
Return size of object of this class.
void DeleteArray(void *ary, Bool_t dtorOnly=kFALSE)
Explicitly call operator delete[] for an array.
TVirtualCollectionProxy * GetCollectionProxy() const
Return the proxy describing the collection (if any).
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
Int_t GetEntriesFast() const
TObject * At(Int_t idx) const override
Mother of all ROOT objects.
virtual const char * GetName() const
Returns name of object.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual UInt_t GetUniqueID() const
Return the unique object id.
@ kIsOnHeap
object is on heap
@ kNotDeleted
object has not been deleted
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void SetUniqueID(UInt_t uid)
Set the unique object id.
A TProcessID identifies a ROOT job in a unique way in time and space.
void PutObjectWithID(TObject *obj, UInt_t uid=0)
stores the object at the uid th slot in the table of objects The object uniqued is set as well as its...
virtual const char * GetFullName() const
Return element name including dimensions, if any Note that this function stores the name into a stati...
const char * GetTypeName() const
static TActionSequence * CreateReadMemberWiseActions(TVirtualStreamerInfo *info, TVirtualCollectionProxy &proxy)
Create the bundle of the actions necessary for the streaming memberwise of the content described by '...
void Print(Option_t *="") const override
This method must be overridden when a class wants to print itself.
static TActionSequence * CreateWriteMemberWiseActions(TVirtualStreamerInfo *info, TVirtualCollectionProxy &proxy)
Create the bundle of the actions necessary for the streaming memberwise of the content described by '...
SequencePtr(*)(TStreamerInfo *info, TVirtualCollectionProxy *collectionProxy, TClass *originalClass) SequenceGetter_t
ActionContainer_t fActions
void AddToSubSequence(TActionSequence *sequence, const TIDs &element_ids, Int_t offset, SequenceGetter_t create)
TActionSequence * CreateSubSequence(const std::vector< Int_t > &element_ids, size_t offset)
TActionSequence * CreateCopy()
void AddToOffset(Int_t delta)
TLoopConfiguration * Copy() const override
void Print() const override
TAssocLoopConfig(TVirtualCollectionProxy *proxy, Bool_t)
void * GetFirstAddress(void *start, const void *) const override
~TAssocLoopConfig() override
TConfiguration * Copy() override
TConfNoFactor(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset, Int_t nbits)
TConfiguration * Copy() override
TConfSTLNoFactor(TConfigSTL *orig, Int_t nbits)
TConfSTLWithFactor(TConfigSTL *orig, Double_t factor, Double_t xmin)
TConfiguration * Copy() override
TConfWithFactor(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset, Double_t factor, Double_t xmin)
TConfiguration * Copy() override
TConfigSTL(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset, UInt_t length, TClass *oldClass, TMemberStreamer *streamer, const char *type_name, Bool_t isbase)
TConfigSTL(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset, UInt_t length, TClass *oldClass, TClass *newClass, TMemberStreamer *streamer, const char *type_name, Bool_t isbase)
TVirtualCollectionProxy::CreateIterators_t fCreateWriteIterators
TConfigSTL(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset, UInt_t length, TClass *oldClass, const char *type_name, Bool_t isbase)
TVirtualCollectionProxy::CreateIterators_t fCreateIterators
TVirtualCollectionProxy::DeleteIterator_t fDeleteIterator
TVirtualCollectionProxy::DeleteTwoIterators_t fDeleteTwoIterators
TMemberStreamer * fStreamer
TConfiguration * Copy() override
TVirtualCollectionProxy::CopyIterator_t fCopyIterator
TConfigSTL(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset, UInt_t length, TClass *oldClass, TClass *newClass, const char *type_name, Bool_t isbase)
TVirtualArray * fOnfileObject
void Print() const override
TConfigurationPushDataCache(TVirtualStreamerInfo *info, TVirtualArray *onfileObject, Int_t offset)
void PrintDebug(TBuffer &buffer, void *object) const override
TConfiguration * Copy() override
void PrintDebug(TBuffer &b, void *addr) const override
TConfigurationUseCache(TVirtualStreamerInfo *info, TConfiguredAction &action, Bool_t repeat)
~TConfigurationUseCache() override
TConfiguredAction fAction
Base class of the Configurations.
virtual void SetMissing()
virtual void PrintDebug(TBuffer &buffer, void *object) const
virtual TConfiguration * Copy()
TVirtualStreamerInfo * fInfo
TStreamerInfo form which the action is derived.
Int_t fOffset
Offset within the object.
TCompInfo_t * fCompInfo
Access to compiled information (for legacy code)
UInt_t fElemId
Identifier of the TStreamerElement.
virtual void Print() const
virtual void AddToOffset(Int_t delta)
TLoopConfiguration * Copy() const override
void * GetFirstAddress(void *start_collection, const void *end_collection) const override
TVirtualCollectionProxy::CopyIterator_t fCopyIterator
void Print() const override
TVirtualCollectionProxy::Next_t fNext
TVirtualCollectionProxy::DeleteIterator_t fDeleteIterator
~TGenericLoopConfig() override
TGenericLoopConfig(TVirtualCollectionProxy *proxy, Bool_t read)
Base class of the Configurations for the member wise looping routines.
TVirtualCollectionProxy * fProxy
virtual void Print() const
TLoopConfiguration * Copy() const override
void Print() const override
~TVectorLoopConfig() override
void * GetFirstAddress(void *start, const void *) const override
TVectorLoopConfig(TVirtualCollectionProxy *proxy, Long_t increment, Bool_t)
TClass * fClass
Not Owned.
TMemberStreamer * fStreamer
Not Owned.
TStreamerElement * fElem
Not Owned.
TClass * fNewClass
Not Owned.
Describes a persistent version of a class.
Int_t fNVirtualInfoLoc
! Number of virtual info location to update.
void AddWriteAction(TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
Int_t fNfulldata
!number of elements
TCompInfo * fComp
![fNslots with less than fElements->GetEntries()*1.5 used] Compiled info
TStreamerInfoActions::TActionSequence * fWriteMemberWiseVecPtr
! List of write action resulting from the compilation for use in member wise streaming.
TStreamerInfoActions::TActionSequence * fReadText
! List of text read action resulting from the compilation, used for JSON.
void ls(Option_t *option="") const override
List the TStreamerElement list and also the precomputed tables if option contains the string "incOrig...
void AddReadTextAction(TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
Add a read text action for the given element.
TCompInfo ** fCompFull
![fElements->GetEntries()]
TObjArray * fElements
Array of TStreamerElements.
@ kArtificial
Cache the value in memory than is not part of the object but is accessible via a SchemaRule.
@ kUChar
Equal to TDataType's kchar.
void AddReadMemberWiseVecPtrAction(TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
Add a read action for the given element.
TStreamerInfoActions::TActionSequence * fReadMemberWise
! List of read action resulting from the compilation for use in member wise streaming.
Int_t fNdata
!number of optimized elements
TStreamerInfoActions::TActionSequence * fReadMemberWiseVecPtr
! List of read action resulting from the compilation for use in member wise streaming.
TStreamerInfoActions::TActionSequence * fReadObjectWise
! List of read action resulting from the compilation.
TClass * fClass
!pointer to class
TCompInfo ** fCompOpt
![fNdata]
static std::atomic< Int_t > fgCount
Number of TStreamerInfo instances.
void AddWriteTextAction(TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
void ComputeSize()
Compute total size of all persistent elements of the class.
void AddReadAction(TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
Add a read action for the given element.
void AddWriteMemberWiseVecPtrAction(TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
This is for streaming via a TClonesArray (or a vector of pointers of this type).
Int_t fNumber
!Unique identifier
TStreamerInfoActions::TActionSequence * fWriteObjectWise
! List of write action resulting from the compilation.
Int_t fSize
!size of the persistent class
void Compile() override
loop on the TStreamerElement list regroup members with same type Store predigested information into l...
TStreamerInfoActions::TActionSequence * fWriteMemberWise
! List of write action resulting from the compilation for use in member wise streaming.
Int_t fNslots
!total number of slots in fComp.
Version_t fOldVersion
! Version of the TStreamerInfo object read from the file
TStreamerInfoActions::TActionSequence * fWriteText
! List of text write action resulting for the compilation, used for JSON.
TSubString Strip(EStripType s=kTrailing, char c=' ') const
Return a substring of self stripped at beginning and/or end.
Wrapper around an object and giving indirect access to its content even if the object is not of a cla...
RAII helper class that ensures that PushProxy() / PopProxy() are called when entering / leaving a C++...
Defines a common interface to inspect/change the contents of an object that represents a collection.
void(* CreateIterators_t)(void *collection, void **begin_arena, void **end_arena, TVirtualCollectionProxy *proxy)
*begin_arena and *end_arena should contain the location of a memory arena of size fgIteratorArenaSize...
@ kCustomAlloc
The collection has a custom allocator.
void *(* CopyIterator_t)(void *dest, const void *source)
Copy the iterator source into dest.
void *(* Next_t)(void *iter, const void *end)
iter and end should be pointers to an iterator to be incremented and an iterator that points to the e...
virtual Next_t GetFunctionNext(Bool_t read=kTRUE)=0
Return a pointer to a function that can advance an iterator (see Next_t).
void(* DeleteTwoIterators_t)(void *begin, void *end)
void(* DeleteIterator_t)(void *iter)
If the size of the iterator is greater than fgIteratorArenaSize, call delete on the addresses; otherw...
static const Int_t fgIteratorArenaSize
The size of a small buffer that can be allocated on the stack to store iterator-specific information.
virtual DeleteIterator_t GetFunctionDeleteIterator(Bool_t read=kTRUE)=0
Return a pointer to a function that can delete an iterator (pair) (see DeleteIterator_t).
virtual CopyIterator_t GetFunctionCopyIterator(Bool_t read=kTRUE)=0
Return a pointer to a function that can copy an iterator (see CopyIterator_t).
virtual Bool_t HasPointers() const =0
Return true if the content is of type 'pointer to'.
virtual TClass * GetCollectionClass() const
Return a pointer to the TClass representing the proxied container class.
static void DeleteIterator(void *iter)
static void * Next(void *iter, const void *end)
static void * CopyIterator(void *dest, const void *source)
Abstract Interface class describing Streamer information for one class.
static Bool_t GetStreamMemberWise()
Return whether the TStreamerInfos will save the collections in "member-wise" order whenever possible.
Bool_t IsCompiled() const
TClass * IsA() const override
static Bool_t CanOptimize()
static function returning true if optimization can be on
virtual Int_t GetClassVersion() const =0
void ReadSTLObjectWiseStreamer(TBuffer &buf, void *addr, const TConfiguration *conf, Version_t, UInt_t)
Int_t PushDataCacheVectorPtr(TBuffer &b, void *, const void *, const TConfiguration *conf)
Int_t WriteTextStreamer(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t PopDataCache(TBuffer &b, void *, const TConfiguration *)
void ReadSTLMemberWiseChangedClass(TBuffer &buf, void *addr, const TConfiguration *conf, Version_t vers)
void ReadSTLObjectWiseFastArrayV2(TBuffer &buf, void *addr, const TConfiguration *conf, Version_t vers, UInt_t start)
Int_t ReadBasicType< BitsMarker >(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t ReadStreamerLoop(TBuffer &buf, void *addr, const TConfiguration *config)
Direct copy of code from TStreamerInfo::WriteBufferAux, potentially can be used later for non-text st...
Int_t WriteTextBaseClass(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t GenericWriteAction(TBuffer &buf, void *addr, const TConfiguration *config)
void ReadArraySTLMemberWiseChangedClass(TBuffer &buf, void *addr, const TConfiguration *conf, Version_t vers)
std::vector< TIDNode > TIDs
Int_t PopDataCacheVectorPtr(TBuffer &b, void *, const void *, const TConfiguration *)
Int_t ReadTextStreamer(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t GenericReadAction(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t WriteTextTObject(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t ReadBasicType_WithFactor(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t ReadTextBaseClass(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t UseCacheVectorPtrLoop(TBuffer &b, void *start, const void *end, const TConfiguration *conf)
Int_t ReadSTL(TBuffer &buf, void *addr, const TConfiguration *conf)
Int_t ReadTextTObject(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t PushDataCache(TBuffer &b, void *, const TConfiguration *conf)
Int_t UseCache(TBuffer &b, void *addr, const TConfiguration *conf)
Int_t WriteLoopInvalid(TBuffer &, void *, const void *, const TConfiguration *config)
void ReadSTLMemberWiseSameClass(TBuffer &buf, void *addr, const TConfiguration *conf, Version_t vers)
Int_t WriteTextTNamed(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t ReadTextObject(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t UseCacheVectorLoop(TBuffer &b, void *start, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *conf)
Int_t ReadTextTNamed(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t WriteSTLp(TBuffer &buf, void *addr, const TConfiguration *config)
Direct copy of code from TStreamerInfo::WriteBufferAux, potentially can be used later for non-text st...
void ReadSTLObjectWiseFastArray(TBuffer &buf, void *addr, const TConfiguration *conf, Version_t, UInt_t)
Int_t ReadTNamed(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t ReadBasicType_NoFactor(TBuffer &buf, void *addr, const TConfiguration *config)
bool IsDefaultVector(TVirtualCollectionProxy &proxy)
Int_t ReadLoopInvalid(TBuffer &, void *, const void *, const TConfiguration *config)
Int_t ReadTObject(TBuffer &buf, void *addr, const TConfiguration *config)
void ReadSTLObjectWiseStreamerV2(TBuffer &buf, void *addr, const TConfiguration *conf, Version_t vers, UInt_t start)
void ReadArraySTLMemberWiseSameClass(TBuffer &buf, void *addr, const TConfiguration *conf, Version_t vers)
void HandleReferencedTObject(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t PopDataCacheGenericCollection(TBuffer &b, void *, const void *, const TLoopConfiguration *, const TConfiguration *)
Int_t WriteStreamerLoop(TBuffer &buf, void *addr, const TConfiguration *config)
Direct copy of code from TStreamerInfo::WriteBufferAux, potentially can be used later for non-text st...
Int_t PushDataCacheGenericCollection(TBuffer &b, void *, const void *, const TLoopConfiguration *loopconfig, const TConfiguration *conf)
Int_t ReadTextTObjectBase(TBuffer &buf, void *addr, const TConfiguration *config)
ESelectLooper SelectLooper(TVirtualCollectionProxy &proxy)
Int_t ReadSTLp(TBuffer &buf, void *addr, const TConfiguration *config)
Direct copy of code from TStreamerInfo::WriteBufferAux, potentially can be used later for non-text st...
Int_t ReadTString(TBuffer &buf, void *addr, const TConfiguration *config)
Int_t UseCacheGenericCollection(TBuffer &b, void *, const void *, const TLoopConfiguration *loopconfig, const TConfiguration *conf)
TVirtualCollectionProxy::Next_t Next_t
static Int_t Action(TBuffer &buf, void *addr, const TConfiguration *conf)
static void Action(TBuffer &buf, void *addr, Int_t nvalues)
static void Action(TBuffer &buf, void *addr, Int_t nvalues)
static void Action(TBuffer &buf, void *addr, Int_t nvalues)
static void SimpleRead(TBuffer &buf, void *addr, Int_t nvalues)
static Int_t ReadCollectionDouble32(TBuffer &buf, void *addr, const TConfiguration *conf)
static void SimpleReadDouble32(TBuffer &buf, void *addr, Int_t nvalues)
static Int_t ReadCollectionBasicType(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t ReadCollectionFloat16(TBuffer &buf, void *addr, const TConfiguration *conf)
static void SimpleReadFloat16(TBuffer &buf, void *addr, Int_t nvalues)
static Int_t ReadCollectionBool(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t ReadNumericalCollection(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t Action(TBuffer &buf, void *addr, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *addr, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *addr, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *addr, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *addr, const TConfiguration *conf)
static void ConvertAction(From *items, void *start, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *config)
static void ConvertAction(From *items, void *start, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *)
static Int_t ReadBasicType(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *config)
static Int_t ReadCollectionFloat16(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t ReadBase(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconfig, const TConfiguration *config)
static Int_t WriteBasicType(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *config)
static Int_t GenericRead(TBuffer &buf, void *, const void *, const TLoopConfiguration *loopconf, const TConfiguration *config)
static Int_t ReadCollectionBool(TBuffer &buf, void *addr, const TConfiguration *conf)
static void SimpleReadFloat16(TBuffer &buf, void *addr)
static Int_t ReadNumericalCollection(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t GenericWrite(TBuffer &buf, void *, const void *, const TLoopConfiguration *loopconf, const TConfiguration *config)
static Int_t ReadCollectionBasicType(TBuffer &buf, void *addr, const TConfiguration *conf)
static void SimpleRead(TBuffer &buf, void *addr)
static Int_t ReadAction(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *config)
static void SimpleReadDouble32(TBuffer &buf, void *addr)
static Int_t ReadCollectionDouble32(TBuffer &buf, void *addr, const TConfiguration *conf)
void AddToOffset(Int_t delta) override
TBitsConfiguration(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset=0)
void PrintDebug(TBuffer &, void *) const override
TConfiguration * Copy() override
void SetMissing() override
TConfiguration * Copy() override
TGenericConfiguration(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset=0)
void PrintDebug(TBuffer &, void *) const override
static Int_t Action(TBuffer &buf, void *iter, const void *end, const TLoopConfiguration *loopconfig, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *iter, const void *end, const TLoopConfiguration *loopconfig, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *iter, const void *end, const TLoopConfiguration *loopconfig, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *iter, const void *end, const TLoopConfiguration *loopconfig, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t Action(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t ReadAction(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconfig, const TConfiguration *config)
static Int_t WriteBasicType(TBuffer &buf, void *iter, const void *end, const TLoopConfiguration *loopconfig, const TConfiguration *config)
static Int_t GenericWrite(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconfig, const TConfiguration *config)
static Int_t ReadCollectionDouble32(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t ConvertCollectionDouble32(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t ReadCollectionBasicType(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t ReadCollectionBool(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t ReadBasicType(TBuffer &buf, void *iter, const void *end, const TLoopConfiguration *loopconfig, const TConfiguration *config)
static Int_t ReadBase(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconfig, const TConfiguration *config)
static Int_t ReadCollectionFloat16(TBuffer &buf, void *addr, const TConfiguration *conf)
static Int_t GenericRead(TBuffer &buf, void *start, const void *end, const TLoopConfiguration *loopconfig, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *iter, const void *end, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *iter, const void *end, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *iter, const void *end, const TConfiguration *config)
static Int_t Action(TBuffer &buf, void *iter, const void *end, const TConfiguration *config)
static Int_t ReadAction(TBuffer &buf, void *start, const void *end, const TConfiguration *config)
static Int_t ReadBase(TBuffer &buf, void *start, const void *end, const TConfiguration *config)
static Int_t ReadBasicType(TBuffer &buf, void *iter, const void *end, const TConfiguration *config)
static Int_t GenericRead(TBuffer &buf, void *iter, const void *end, const TConfiguration *config)
static Int_t WriteBasicType(TBuffer &buf, void *iter, const void *end, const TConfiguration *config)
static Int_t GenericWrite(TBuffer &buf, void *iter, const void *end, const TConfiguration *config)