Hi David, > 1/ What does mean "the same I/O operation" ? There is basically 2 main entry point into the I/O system: object->Write and tree->Fill(). 'object->Write()' will save the object and its data member in one buffer and in the 'same I/O operation'. 'tree->Fill()' will have one 'I/O operation' per end branch (branch that have no sub-branches. Each branch has its own buffer and the buffer are not sharing information. So If you do not split your top level branch you will have only 'one I/O operation'. You split the branch with level 1, you will get one independant 'I/O operation' per data members. etc. > 2/ Does it work with foreign classes ? Yes. Cheers, Philippe -----Original Message----- From: owner-roottalk@pcroot.cern.ch [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of David Chamont Sent: Thursday, July 31, 2003 4:21 AM To: roottalk@pcroot.cern.ch Subject: [ROOT] "the same I/O operation" Hi Rooters, I am trying the persistency of a net of objects with C++ pointers within. As usual, I search for the less intrusive solution. >From what I read, when several objects are pointing to another shared one, the storage will work if this is done in "the same I/O operation". 1/ What does mean "the same I/O operation" ? 2/ Does it work with foreign classes ? David. P.S.: In chapter "Input/Output", section "How does it work ?", after "When statement P = R is executed, the following happens:", it is said that in the fPID object, fObjects[ObjectNumber] is set to P... Perhaps it should be R instead ?
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:14 MET