62 if(!a_buffer.read_version(vers,s,c))
return false;
77 {
uint32 old = a_buffer.length();
81 a_buffer.set_offset(old);}
88 if(!a_buffer.read(fCompress))
return false;
89 if(!a_buffer.read(fBasketSize))
return false;
91 if(!a_buffer.read(fMaxBaskets))
return false;
95 if(!a_buffer.read(v))
return false;
99 if(!a_buffer.read(v))
return false;
103 if(!a_buffer.read(v))
return false;
106 if(!a_buffer.read(fOffset))
return false;
109 if(!a_buffer.read(fCompress))
return false;
110 if(!a_buffer.read(fBasketSize))
return false;
114 if(!a_buffer.read(fOffset))
return false;
115 if(!a_buffer.read(fMaxBaskets))
return false;
117 if(!a_buffer.read(v))
return false;
121 if(!a_buffer.read(v))
return false;
125 if(!a_buffer.read(v))
return false;
130 if(!a_buffer.read(fCompress))
return false;
131 if(!a_buffer.read(fBasketSize))
return false;
135 if(!a_buffer.read(fOffset))
return false;
136 if(!a_buffer.read(fMaxBaskets))
return false;
137 if(!a_buffer.read(fSplitLevel))
return false;
139 if(!a_buffer.read(v))
return false;
143 if(!a_buffer.read(v))
return false;
147 if(!a_buffer.read(v))
return false;
154 if(!a_buffer.read(fCompress))
return false;
155 if(!a_buffer.read(fBasketSize))
return false;
159 if(!a_buffer.read(fOffset))
return false;
160 if(!a_buffer.read(fMaxBaskets))
return false;
161 if(!a_buffer.read(fSplitLevel))
return false;
163 if(!a_buffer.read(v))
return false;
167 if(!a_buffer.read(v))
return false;
171 if(!a_buffer.read(v))
return false;
175 }
else if(vers<=10) {
179 if(!a_buffer.read(fCompress))
return false;
180 if(!a_buffer.read(fBasketSize))
return false;
184 if(!a_buffer.read(v))
return false;
186 if(!a_buffer.read(fOffset))
return false;
187 if(!a_buffer.read(fMaxBaskets))
return false;
188 if(!a_buffer.read(fSplitLevel))
return false;
191 if(!a_buffer.read(v))
return false;
195 if(!a_buffer.read(v))
return false;
199 if(!a_buffer.read(v))
return false;
208 if(!a_buffer.read(fCompress))
return false;
209 if(!a_buffer.read(fBasketSize))
return false;
213 if(!a_buffer.read(v))
return false;
217 if(!_dummy.stream(a_buffer)) {
218 m_out <<
"tools::rroot::branch::stream : can't read (dummy) TIOFeatures." << std::endl;
222 if(!a_buffer.read(fOffset))
return false;
223 if(!a_buffer.read(fMaxBaskets))
return false;
224 if(!a_buffer.read(fSplitLevel))
return false;
226 if(!a_buffer.read(v))
return false;
230 if(!a_buffer.read(v))
return false;}
232 if(!a_buffer.read(v))
return false;
236 if(!a_buffer.read(v))
return false;
247 m_out <<
"tools::rroot::branch::stream :"
248 <<
" can't read branches."
271 if(!
m_leaves.stream(a_buffer,args)) {
272 m_out <<
"tools::rroot::branch::stream :"
273 <<
" can't read leaves."
284 m_out <<
"tools::rroot::branch::stream :"
285 <<
" can't read baskets."
294 m_out <<
"tools::rroot::branch::stream :"
295 <<
" fMaxBaskets null."
303 {
for(
uint32 i=0;i<fMaxBaskets;i++) {
311 if(!a_buffer.read_array<
int>(fMaxBaskets,
fBasketEntry,n)) {
319 if(!a_buffer.read_array<
int>(fMaxBaskets,
fBasketBytes,n)) {
329 m_out <<
"tools::rroot::branch::stream :"
330 <<
" v < 2. Not (yet) handled."
336 if(!a_buffer.read(n)) {
340 for(
int i=0;i<n;i++) {
342 if(!a_buffer.read(_s)) {
355 if(!a_buffer.read(isArray)) {
360 if(!a_buffer.read_fast_array<
int>(
fBasketBytes,fMaxBaskets)) {
368 if(!a_buffer.read(isArray)) {
373 if(!a_buffer.read_fast_array<
int>(
fBasketEntry,fMaxBaskets)) {
381 if(!a_buffer.read(isBigFile)) {
391 for(
uint32 i=0;i<fMaxBaskets;i++) {
393 if(!a_buffer.read(_s)) {
406 if(!a_buffer.read(isArray)) {
411 if(!a_buffer.read_fast_array<
int>(
fBasketBytes,fMaxBaskets)) {
419 if(!a_buffer.read(isArray)) {
425 if(!a_buffer.read_fast_array<
uint64>(v,fMaxBaskets)) {
435 if(!a_buffer.read(isArray)) {
441 if(!a_buffer.read_fast_array<
uint64>(v,fMaxBaskets)) {
452 std::string fileName;
453 if(!a_buffer.read(fileName)) {
461 if(!a_buffer.check_byte_count(s, c,
"TBranch")) {
473 m_first_last.push_back(std::pair<uint64,uint64>(first,last));
478 m_first_last.push_back(std::pair<uint64,uint64>(first,last));
485 for(
uint32 i=0;i<fMaxBaskets;i++) {
488 mxi = mx<uint32>(i,mxi);
492 m_out <<
"tools::rroot::branch::stream :"
493 <<
" fBasketSeek[] inconsistent with m_write_basket."
507 if(!(*it)->buf()||!(*it)->buf_size()) {
508 m_out <<
"tools::rroot::branch::stream :"
509 <<
" expect a basket with a not empty buffer."
514 m_baskets[index] = std::pair<basket*,bool>(*it,
false);