62 if (!str.
Index(prefix))
73 fBuffer.PushDataCache( fOnfileObject );
77 if (fOnfileObject)
fBuffer.PopDataCache();
87 for (
Int_t i = 0; i < nbranches; ++i) {
90 case 31: br->
SetType(41);
break;
107 bool CanSelfReference(
TClass *cl) {
112 return CanSelfReference(inside);
117 const static TClassRef stringClass(
"std::string");
145, fSTLtype(
ROOT::kNotSTL)
147, fBranchCount(nullptr)
148, fBranchCount2(nullptr)
151, fOnfileObject(nullptr)
160, fBranchOffset(nullptr)
162, fReadActionSequence(nullptr)
163, fFillActionSequence(nullptr)
165, fWriteIterators(nullptr)
166, fPtrIterators(nullptr)
180, fClassName(sinfo->GetName())
184, fCheckSum(sinfo->GetCheckSum())
185, fClassVersion(sinfo->GetClass()->GetClassVersion())
190, fSTLtype(
ROOT::kNotSTL)
192, fBranchCount(nullptr)
193, fBranchCount2(nullptr)
196, fOnfileObject(nullptr)
200, fTargetClass(fClassName)
203, fBranchClass(sinfo->GetClass())
205, fBranchOffset(nullptr)
207, fReadActionSequence(nullptr)
208, fFillActionSequence(nullptr)
210, fWriteIterators(nullptr)
211, fPtrIterators(nullptr)
217 Init(tree,
nullptr, bname,sinfo,
id,pointer,basketsize,splitlevel,btype);
227, fClassName(sinfo->GetName())
231, fCheckSum(sinfo->GetCheckSum())
232, fClassVersion(sinfo->GetClass()->GetClassVersion())
237, fSTLtype(
ROOT::kNotSTL)
239, fBranchCount(nullptr)
240, fBranchCount2(nullptr)
243, fOnfileObject(nullptr)
247, fTargetClass( fClassName )
250, fBranchClass(sinfo->GetClass())
252, fBranchOffset(nullptr)
254, fReadActionSequence(nullptr)
255, fFillActionSequence(nullptr)
257, fWriteIterators(nullptr)
258, fPtrIterators(nullptr)
262 Init(parent ? parent->
GetTree() :
nullptr, parent, bname,sinfo,
id,pointer,basketsize,splitlevel,btype);
281 if (
fTree ==
nullptr)
return;
364 bool hasCustomStreamer =
false;
373 if (hasCustomStreamer) {
426 if (splitlevel > 0) {
474 Unroll(
name, clOfElement, clOfElement, pointer, basketsize, splitlevel+splitSTLP, 0);
475 if (strchr(bname,
'.')) {
492 const auto bnamelen = strlen(bname);
494 name.Form(
"%s%s%s", bname, bname[bnamelen-1]==
'.' ?
"" :
".", clOfElement->
GetName());
509 char **ppointer = (
char**)(pointer);
553 Unroll(
name, clOfClones, clOfClones, pointer, basketsize, splitlevel+splitSTLP, 31);
560 TClass* contCl = elementClass;
564 bool cansplit =
true;
608 Unroll(
name, valueClass, valueClass, pointer, basketsize, splitlevel+splitSTLP, 41);
621 TClass* clm = elementClass;
622 Int_t err =
Unroll(
name, clm, clm, pointer, basketsize, splitlevel+splitSTLP, 0);
664, fClassName(
"TClonesArray")
670, fTargetClass( fClassName )
675, fReadActionSequence(nullptr)
676, fFillActionSequence(nullptr)
678, fWriteIterators(nullptr)
679, fPtrIterators(nullptr)
681 Init(tree,
nullptr, bname, clones, basketsize, splitlevel, compress);
691, fClassName(
"TClonesArray")
697, fTargetClass( fClassName )
702, fReadActionSequence(nullptr)
703, fFillActionSequence(nullptr)
705, fWriteIterators(nullptr)
706, fPtrIterators(nullptr)
708 Init(parent ? parent->
GetTree() :
nullptr, parent, bname, clones, basketsize, splitlevel, compress);
752 if (basketsize < 100) basketsize = 100;
772 Error(
"Init",
"Missing class object of the TClonesArray %s\n",clones->
GetName());
785 if (branchname[branchname.
Length()-1]==
'.') {
792 Unroll(
name, clonesClass, clonesClass,
nullptr, basketsize, splitlevel, 31);
819, fClassName(cont->GetCollectionClass()->GetName())
824, fTargetClass( fClassName )
827, fBranchClass(cont->GetCollectionClass())
829, fReadActionSequence(nullptr)
830, fFillActionSequence(nullptr)
832, fWriteIterators(nullptr)
833, fPtrIterators(nullptr)
835 Init(tree,
nullptr, bname, cont, basketsize, splitlevel, compress);
845, fClassName(cont->GetCollectionClass()->GetName())
850, fTargetClass( fClassName )
853, fBranchClass(cont->GetCollectionClass())
855, fReadActionSequence(nullptr)
856, fFillActionSequence(nullptr)
858, fWriteIterators(nullptr)
859, fPtrIterators(nullptr)
861 Init(parent ? parent->
GetTree() :
nullptr, parent, bname, cont, basketsize, splitlevel, compress);
915 if (basketsize < 100) {
956 Unroll(
name, valueClass, valueClass,
nullptr, basketsize, splitlevel, 41);
1035 if (nbranches > 0) {
1036 TList persistentBranches;
1039 while((branch=(
TBranch*)iB())) {
1040 if (branch->
IsFolder()) persistentBranches.
Add(branch);
1066 mempos=strMember.
First(
'[');
1070 if (!
m ||
m->IsPersistent()) persistentBranches.
Add(branch);
1071 }
else persistentBranches.
Add(branch);
1095 pos = mothername.
First(
'[');
1101 if (mothername(
len-1) !=
'.') {
1106 TString doublename = mothername;
1108 Int_t isthere = (
name.Index(doublename) == 0);
1110 name.Prepend(doublename);
1113 doublename.
Append(mothername);
1114 isthere = (
name.Index(doublename) == 0);
1151 if (indexname[indexname.
Length()-1]==
'.') {
1156 for (
Int_t i = 0; i < nbranches; ++i) {
1162 }
else if (
fType == 4) {
1165 Error(
"BuildTitle",
"This cannot happen, fType of parent is not 3 or 4!");
1169 const char* fin = strrchr(bre->
GetTitle(),
'.');
1170 if (fin ==
nullptr) {
1202 if ((stype > 40) && (stype < 61)) {
1244 Error(
"Fill",
"attempt to fill branch %s while address is not set",
GetName());
1267 Error(
"Fill",
"Failed filling branch:%s, nbytes=%d",
GetName(), nwrite);
1279 Error(
"Fill",
"Failed filling branch:%s, nbytes=%d",
GetName(), nwrite);
1287 for (
Int_t i = 0; i < nbranches; ++i) {
1290 nwrite = branch->
FillImpl(imtHelper);
1292 Error(
"Fill",
"Failed filling branch:%s.%s, nbytes=%d",
GetName(), branch->
GetName(), nwrite);
1305 printf(
"Fill: %lld, branch=%s, nbytes=%d\n", entry,
GetName(), nbytes);
1340 b.ForceWriteInfo(si,
false);
1343 }
else if (
fType == 31) {
1364 Error(
"FillLeaves",
"The branch counter address was zero!");
1370 Error(
"FillLeaves",
"Clonesa: %s, n=%d, sorry not supported yet",
GetName(),
n);
1393 for (
Int_t ii = 0; ii <
n; ++ii) {
1394 b.WriteDouble32(&(xx[ii]),se);
1403 for (
Int_t ii = 0; ii <
n; ++ii) {
1404 b.WriteFloat16(&(xx[ii]),se);
1486 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1517 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1547 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1578 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1633 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1638 char **end = arr +
n;
1715 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1759 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1774 std::size_t dim =
name.find_first_of(
'[');
1775 if (dim != std::string::npos) {
1798 if (se && se->
IsBase()) {
1806 std::string longnm_parent;
1810 longnm_parent +=
name;
1816 for(
Int_t i = 0; i < nbranches; ++i) {
1819 const char *brname = branch->
GetName();
1820 UInt_t brlen = strlen(brname);
1821 if (brname[brlen-1]==
']') {
1822 const char *dim = strchr(brname,
'[');
1824 brlen = dim - brname;
1827 if (namelen == brlen
1828 && strncmp(
name,brname,brlen) == 0) {
1831 if (brlen == longnm.length()
1832 && strncmp(longnm.c_str(),brname,brlen) == 0) {
1836 if (brlen == longnm_parent.length()
1837 && strncmp(longnm_parent.c_str(),brname,brlen) == 0) {
1841 if (namelen>brlen &&
name[brlen]==
'.' && strncmp(
name,brname,brlen)==0) {
1852 for(
Int_t i = 0; i < nbranches; ++i) {
1854 if(obj->
IsA() != TBranchElement :: Class() )
1858 if (si && br->
GetID() >= 0) {
1860 if (se && se->
IsBase()) {
1882 if (parent==
this || parent->
GetID()<0 )
return nullptr;
1887 if (! se->
IsBase() )
return nullptr;
1895 std::string longname( grand_parent->
GetName() );
1901 if ( longname == leafname ) {
1942 if (valueClass == subbe->fInfo->
GetClass()) {
1943 localInfo = subbe->fInfo;
1950 if (file && file->GetSeekInfo()) {
1978 if (targetValueClass && localInfo->
GetClass() != targetValueClass) {
1989 for (
size_t i =0; i < ndata; ++i) {
2004 ename = ename.
Remove(pos);
2012 ids.back().fElement = nextel;
2013 ids.back().fInfo = info;
2019 if (!be && nextel->
IsBase()) {
2024 if (subprefix.Length() && subprefix[subprefix.Length()-1] ==
'.')
2025 subprefix.Remove(subprefix.Length()-1);
2031 TClass *expectedClass =
nullptr;
2038 for (
Int_t bi = 0; bi < nbranches; ++bi) {
2040 if (subprefix != branch->
GetName())
2054 if (elementClass && (!be || be->
GetType() == -2)) {
2068 subprefix = ename +
".";
2070 auto nbranches = search->GetEntriesFast();
2071 bool foundRelatedSplit =
false;
2072 for (
Int_t bi = 0; bi < nbranches; ++bi) {
2075 if (!foundRelatedSplit)
2076 foundRelatedSplit = matchSubPrefix;
2087 if (!foundRelatedSplit) {
2100 ids.back().fNestedIDs->fOwnOnfileObject =
true;
2102 ids.back().fNestedIDs->fOnfileObject = onfileObject;
2103 GatherArtificialElements(branches, ids.back().fNestedIDs->fIDs, subprefix, nextinfo,
offset + nextel->
GetOffset());
2104 if (ids.back().fNestedIDs->fIDs.empty())
2128 TClass* targetClass =
nullptr;
2138 if ( !targetClass ) {
2139 Error(
"InitInfo",
"Branch '%s': missing dictionary for target class '%s'!",
2167 if( targetClass != cl ) {
2184 if( targetClass != cl )
2224 Error(
"InitInfo",
"StreamerInfo is not compiled.");
2245 bool seenExisting =
false;
2264 Int_t firstindex = 0;
2265 Int_t lastindex = nbranches - 1;
2272 if (!subbranch->
fInfo)
2279 if ( ! subbranch_name.
BeginsWith(thisprefix)) {
2284 if (!subbranch->
fInfo)
2290 if ( ! subbranch_name.
BeginsWith(thisprefix)) {
2302 for(
Int_t i = 0; i < nbranches; ++i) {
2305 if ( ! subbranch_name.
BeginsWith(thisprefix)) {
2312 for (
Int_t i = firstindex; i <= lastindex; ++i) {
2315 if (
this != subbranch) {
2317 if (!subbranch->
fInfo)
2320 if (subbranch->
fInfo == info)
2322 else if (subbranch->
fInfo ==
nullptr && subbranch->
fBranchClass == currentClass) {
2338 Error(
"SetOnfileObject (lambda)",
"2 distincts fOnfileObject are in the hierarchy of %s for type %s",
2343 seenExisting =
true;
2347 lastbranch = subbranch;
2352 if (lastbranch !=
this)
2361 size_t pos = s.rfind(
'.');
2362 if (pos != std::string::npos) {
2363 s = s.substr(pos+1);
2365 while ((pos = s.rfind(
'[')) != std::string::npos) {
2366 s = s.substr(0, pos);
2373 for (
size_t i = 0; i < ndata; ++i) {
2405 for (
size_t i =
fID+1+(
fNewIDs.size()); i < ndata; ++i) {
2408 std::string ename = nextel->
GetName();
2409 if (ename[0] ==
'*')
2410 ename = ename.substr(1);
2412 while ((pos = ename.rfind(
'[')) != std::string::npos) {
2413 ename = ename.substr(0, pos);
2445 fNewIDs.back().fElement = nextel;
2452 for (
size_t i = 0; i < ndata; ++i) {
2467 SetOnfileObject(
fInfo);
2482 auto start = prefix.
Length();
2483 if (prefix[start - 1] ==
'.')
2485 std::string_view view(prefix.
Data(), start);
2486 auto cutoff = view.find_last_of(
'.');
2487 if (cutoff != std::string::npos) {
2488 prefix.
Remove(cutoff + 1);
2491 if (prefix[prefix.
Length()-1] !=
'.') {
2504 SetOnfileObject(localInfo);
2535 const char* className =
nullptr;
2578 Fatal(
"GetCollectionProxy",
2579 "Can not create a Collection Proxy of any kind for the class \"%s\" needed by the branch \"%s\" of the TTree \"%s\"!",
2583 "Fixing the collection proxy of the class \"%s\" \n"
2584 "\tneeded by the branch \"%s\" of the TTree \"%s\" to be similar to \"%s\".",
2590 }
else if (
fType == 41) {
2633 if (newInfo != brInfo) {
2642 if (newType.
Length()==0) {
2725 for (
Int_t i = 0; i < nbranches; ++i) {
2750 char **end = arr +
fNdata;
2753 }
else if (
fType == 4) {
2792 Info(
"GetEntry",
"%lld, branch=%s, nbytes=%d", entry,
GetName(), nbytes);
2806 expectedClass =
nullptr;
2810 if ((
type == -1) || (
fID == -1)) {
2819 if (!expectedClass) {
2829 Error(
"GetExpectedType",
"Did not find the type for %s",
GetName());
2842 if (!mother || mother==
this || mother->
GetType() == 3 || mother->
GetType() == 4) {
2856 return "TBranchElement-folder";
2858 return "TBranchElement-leaf";
2919 const char *types[20] = {
2942 return types[itype];
2951template <
typename T>
3002 }
else if (
fType <= 2) {
3014 if (
object ==
nullptr)
3027 }
else if (
fType == 41) {
3080 }
else if (
fType == 4) {
3083 }
else if (
fType == 31) {
3088 }
else if (
fType == 41) {
3093 }
else if (
fType <= 2) {
3108 }
else if (
fType == 41) {
3110 }
else if (prID < 0) {
3114 if (!
GetInfoImp() || !
object)
return nullptr;
3115 char **val = (
char**)(
object+
GetInfoImp()->TStreamerInfo::GetElementOffset(prID));
3170 Warning(
"InitializeOffsets",
"No branch class set for branch: %s",
GetName());
3187 Int_t localOffset = 0;
3189 bool renamed =
false;
3200 Warning(
"InitializeOffsets",
"Streamer info for branch: %s has no elements array!",
GetName());
3207 Warning(
"InitializeOffsets",
"Cannot get streamer element for branch: %s!",
GetName());
3228 Error(
"InitializeOffsets",
"Could not find class for branch: %s",
GetName());
3238 bool stlParentNameUpdated =
false;
3242 stlParentName = br->
GetName();
3251 for (
Int_t subBranchIdx = 0; subBranchIdx < nbranches; ++subBranchIdx) {
3252 bool alternateElement =
false;
3256 if (subBranch ==
nullptr) {
3270 Warning(
"InitializeOffsets",
"No streamer info for branch: %s subbranch: %s",
GetName(), subBranch->
GetName());
3275 Warning(
"InitializeOffsets",
"No elements array for branch: %s subbranch: %s",
GetName(), subBranch->
GetName());
3281 if (!subBranchElement) {
3282 Warning(
"InitializeOffsets",
"No streamer element for branch: %s subbranch: %s",
GetName(), subBranch->
GetName());
3296 typedef TStreamerInfoActions::ActionContainer_t::iterator iterator;
3299 iter != end; ++iter) {
3304 subBranchElement =
e;
3305 alternateElement =
true;
3312 localOffset = subBranchElement->
GetOffset();
3320 && CanSelfReference(subBranchElement->
GetClass()))
3336 Warning(
"InitializeOffsets",
"Branch '%s' has no mother!",
GetName());
3341 bool motherDot =
false;
3342 if (motherName.
Length() && strchr(motherName.
Data(),
'.')) {
3345 bool motherDotAtEnd =
false;
3346 if (motherName.
Length() && (motherName[motherName.
Length()-1] ==
'.')) {
3347 motherDotAtEnd =
true;
3350 bool isBaseSubBranch =
false;
3351 if ((subBranch->
fType == 1) || (subBranchElement && subBranchElement->
IsBase())) {
3359 isBaseSubBranch =
true;
3362 bool isContDataMember =
false;
3363 if ((subBranch->
fType == 31) || (subBranch->
fType == 41)) {
3365 isContDataMember =
true;
3390 if (motherDotAtEnd) {
3394 if (!stlParentNameUpdated && stlParentName.
Length()) {
3396 stlParentNameUpdated =
true;
3398 }
else if (motherDot) {
3415 if (!stlParentNameUpdated && stlParentName.
Length()) {
3423 if (!stlParentNameUpdated && stlParentName.
Length()) {
3429 stlParentNameUpdated =
true;
3430 if (isBaseSubBranch) {
3444 if (dataName[0] ==
'.') {
3454 if (motherDotAtEnd) {
3457 }
else if (motherDot) {
3507 RemovePrefix(dataName, parentName);
3512 if (dataName[0] ==
'.') {
3519 if (dataName[dataName.
Length()-1] ==
'.') {
3539 TClass* pClass =
nullptr;
3579 Warning(
"InitializeOffsets",
"subBranch: '%s' has no parent class, and cannot get class for clones class: '%s'!", subBranch->
GetName(),
GetClonesName());
3583 Warning(
"InitializeOffsets",
"subBranch: '%s' has no parent class! Assuming parent class is: '%s'.", subBranch->
GetName(), pClass->
GetName());
3587 Warning(
"InitializeOffsets",
"subBranch: '%s' has no parent class! Assuming parent class is: '%s'.", subBranch->
GetName(), pClass ? pClass->
GetName() :
"unknown class");
3592 pClass = branchClass;
3597 if (renamed && pClass) {
3598 if (pClass == branchClass) {
3613 if( !strncmp( stlParentName.
Data(), dataName.
Data(), stlParentName.
Length()-1 )
3614 && dataName[ stlParentName.
Length() ] ==
'.' )
3622 if (alternateElement) {
3625 if (dotpos !=
kNPOS) ++dotpos;
else dotpos = 0;
3647 Error(
"InitializeOffsets",
3648 "Could not find the real data member '%s' when constructing the branch '%s' [Likely missing ShowMember].",
3653 Info(
"InitializeOffsets",
3654 "TTree created with an older schema, some data might not be copied in 'slow-cloning' mode; fast-cloning should have the correct result. '%s' is missing when constructing the branch '%s'. ",
3658 Fatal(
"InitializeOffsets",
3659 "Could not find the real data member '%s' when constructing the branch '%s' [Likely an internal error, please report to the developers].",
3667 if (isBaseSubBranch) {
3670 Warning(
"InitializeOffsets",
"Could not find the data member name for branch '%s' with parent branch '%s', assuming offset is zero!", subBranch->
GetName(),
GetName());
3678 if (isContDataMember) {
3692 if (isBaseSubBranch) {
3709 }
else if (isSplit) {
3710 if (isBaseSubBranch) {
3721 if (isBaseSubBranch) {
3761 if (nbranches >= 1) {
3765 return browsables && browsables->
GetSize();
3778 bool ismissing =
false;
3780 if (basket &&
fTree) {
3793 bufbegin = entryOffset[entry-first];
3796 bufnext = entryOffset[entry+1-first];
3800 if (bufnext == bufbegin) {
3818 for(
auto &
cursor : ids) {
3819 auto id =
cursor.fElemID;
3825 Error(
"TBranchElement::Print",
"Element for id #%d not found in StreamerInfo for %s",
3829 }
else if (
cursor.fNestedIDs) {
3830 Printf(
" Within subobject of type %s offset = %d",
cursor.fNestedIDs->fInfo->GetName(),
cursor.fNestedIDs->fOffset);
3838 constexpr auto length = std::char_traits<char>::length;
3840 if (strncmp(
option,
"debugAddress",
length(
"debugAddress"))==0) {
3842 Printf(
"%-24s %-16s %2s %4s %-16s %-16s %8s %8s %s %s\n",
3843 "Branch Name",
"Streamer Class",
"ID",
"Type",
"Class",
"Parent",
"pOffset",
"fOffset",
"fObject",
"fOnfileObject");
3852 Printf(
"%-16s %2d %4d %-16s %-16s %8x %8x %p %p%s\n",
3857 for (
Int_t i = 0; i < nbranches; ++i) {
3859 subbranch->
Print(
"debugAddressSub");
3863 if (strncmp(
option,
"debugInfo",
length(
"debugInfo"))==0) {
3875 Printf(
" With elements:");
3879 Printf(
" with read actions:");
3881 Printf(
" with write actions:");
3890 Printf(
" with read actions:");
3892 Printf(
" with write actions:");
3895 TString suboption =
"debugInfoSub";
3897 for (
Int_t i = 0; i < nbranches; ++i) {
3899 subbranch->
Print(suboption);
3912 Printf(
"*............................................................................*");
3917 for (
Int_t i=0;i<nbranches;i++) {
3976 }
else if (
fType <= 2) {
3993 }
else if (
fType == 3) {
3995 }
else if (
fType == 31) {
4000 }
else if (
fType == 41) {
4017 Fatal(
"ReadLeaves",
"The ReadLeaves function has not been configured for %s",
GetName());
4035 b.SetBufferOffset(
b.Length() -
sizeof(
n));
4037 Error(
"ReadLeaves",
"Incorrect size read for the container in %s\nThe size read is %d when the maximum is %d\nThe size is reset to 0 for this entry (%lld)",
GetName(),
n[0],
fMaximum,
GetReadEntry());
4049 for (
Int_t i=0; i<nbranches; i++) {
4066 if (atype > 54)
return;
4075 if (!len_where)
return;
4080 for( k=0; k<
n; k++) {
4081 char **where = &(((
char**)
fAddress)[k]);
4087 case 3: {
length = ((
Int_t*) len_where)[k];
break;}
4090 case 6: {
length = ((
Int_t*) len_where)[k];
break;}
4099 case 18: {
length = ((
bool*) len_where)[k];
break;}
4103 if (
length <= 0)
continue;
4104 if (isArray == 0)
continue;
4120 case 18: {*where=
new char[
sizeof(
bool)*
length];
b.ReadFastArray((
bool*) *where,
length);
break;}
4145 case 18: {
b.ReadFastArray((
bool*)
fAddress,
n);
break;}
4150 for (
Int_t ii=0;ii<
n;ii++) {
4151 b.ReadDouble32(&(xx[ii]),se);
4159 for (
Int_t ii=0;ii<
n;ii++) {
4160 b.ReadFloat16(&(xx[ii]),se);
4166 }
else if (
fType <= 2) {
4186 loc = counter.
Last(
']');
4190 countname += counter;
4196 Warning(
"ReadLeaves",
"Missing fBranchCount for %s. Data will not be read correctly by the MakeClass mode.",
GetName());
4217 case 18: {
b.ReadFastArray((
bool*)
fAddress,
n);
break;}
4222 for (
Int_t ii=0;ii<
n;ii++) {
4223 b.ReadDouble32(&(xx[ii]),se);
4231 for (
Int_t ii=0;ii<
n;ii++) {
4232 b.ReadFloat16(&(xx[ii]),se);
4284 b.SetBufferOffset(
b.Length()-
sizeof(
n));
4286 Error(
"ReadLeaves",
"Incorrect size read for the container in %s\n\tThe size read is %d while the maximum is %d\n\tThe size is reset to 0 for this entry (%lld)",
GetName(),
n,
fMaximum,
GetReadEntry());
4320 for (
Int_t i = 0; i < nbranches; ++i) {
4348 if( !
fNdata || *(
void**)proxy->
At( 0 ) != nullptr )
4353 void **el = (
void**)proxy->
At( i );
4355 *el = elClass->
New();
4359 proxy->
Commit(alternate);
4385 if (info ==
nullptr)
return;
4417 if (info ==
nullptr)
return;
4448 if (info ==
nullptr)
return;
4479 b.SetBufferOffset(
b.Length()-
sizeof(
n));
4481 Error(
"ReadLeaves",
"Incorrect size read for the container in %s\n\tThe size read is %d while the maximum is %d\n\tThe size is reset to 0 for this entry (%lld)",
GetName(),
n,
fMaximum,
GetReadEntry());
4520 if (info==
nullptr)
return;
4528 char **end = arr +
fNdata;