Go to the documentation of this file.
4 #ifndef tools_wroot_branch
5 #define tools_wroot_branch
19 static const std::string& s_class() {
20 static const std::string s_v(
"tools::wroot::branch");
26 static const std::string s_v(
"TBranch");
36 int fEntryOffsetLen = 1000;
42 if(!a_buffer.
write(fEntryOffsetLen))
return false;
45 if(!a_buffer.
write(fEntryNumber))
return false;
46 if(!a_buffer.
write(fOffset))
return false;
48 if(!a_buffer.
write(fSplitLevel))
return false;
50 if(!a_buffer.
write(fEntries))
return false;
53 if(!a_buffer.
write(fTotBytes))
return false;
54 if(!a_buffer.
write(fZipBytes))
return false;
56 if(!m_branches.stream(a_buffer))
return false;
57 if(!
m_leaves.stream(a_buffer))
return false;
58 if(!
m_baskets.stream(a_buffer))
return false;
77 if(!a_buffer.
write((
char)1))
return false;
79 if(!a_buffer.
write((
char)1))
return false;
93 if(!a_buffer.
write(isBigFile))
return false;
99 m_out <<
"tools::wroot::branch::stream :"
100 <<
" attempt to write big Seek "
111 if(!a_buffer.
write(std::string(
"")))
return false;
119 seek a_seek_directory,
const std::string& a_name,
const std::string& a_title,
bool a_verbose)
143 mem::increment(s_class().c_str());
171 mem::decrement(s_class().c_str());
237 base_leaf& a_leaf_count,
const std::vector<T>& a_ref) {
284 m_out <<
"tools::wroot::branch::fill :"
285 <<
" potential overflow : m_write_basket (" <<
m_write_basket <<
")"
295 m_out <<
"tools::wroot::branch::fill :"
296 <<
" m_baskets[m_write_basket] should not be null."
312 m_out <<
"tools::wroot::branch::fill :"
313 <<
" fill_leaves() failed."
319 uint32 nbytes = lnew - lold;
330 m_out <<
"tools::wroot::branch::fill :"
331 <<
" basket.write_on_file() failed."
356 a_add_bytes = add_bytes;
368 m_out <<
"tools::wroot::branch::add_basket :"
369 <<
" potential overflow : m_write_basket (" <<
m_write_basket <<
")"
378 m_out <<
"tools::wroot::branch::add_basket :"
379 <<
" basket.write_on_file() failed."
404 a_add_bytes = add_bytes;
427 m_out <<
"tools::wroot::branch::parallel_fill :"
428 <<
" get_basket failed."
443 m_out <<
"tools::wroot::branch::parallel_fill :"
444 <<
" fill_leaves() failed."
450 uint32 nbytes = lnew - lold;
453 bool store_basket =
false;
455 store_basket = (bk->
nev()>=a_nev);
462 m_out <<
"tools::wroot::branch::parallel_fill :"
463 <<
" main_branch.add_basket() failed."
472 main_branch_verbose);
483 m_out <<
"tools::wroot::branch::end_pfill :"
484 <<
" m_baskets[m_write_basket] should not be null."
494 m_out <<
"tools::wroot::branch::parallel_fill :"
495 <<
" main_branch.add_basket() failed."
519 m_out <<
"tools::wroot::branch::add_basket :"
520 <<
" new size for fBasket[Bytes,Entry,Seek] arrays"
521 <<
" is too close of 32 bits limit."
523 m_out <<
"tools::wroot::branch::add_basket :"
524 <<
" you have to work with larger basket size."
532 m_out <<
"tools::wroot::branch::add_basket : realloc failed." << std::endl;
536 m_out <<
"tools::wroot::branch::add_basket : realloc failed." << std::endl;
540 m_out <<
"tools::wroot::branch::add_basket : realloc failed." << std::endl;
556 if(!(*it)->fill_buffer(a_buffer))
return false;
#define tools_vforit(a__T, a__v, a__it)