16#include "TStreamerInfo.h"
43 UInt_t startpos, bcnt;
52 i->second.first->ReadBuffer (b, obj, version, startpos, bcnt);
56 fClass->ReadBuffer(b, obj, version, startpos, bcnt);
61 fClass->WriteBuffer(b, obj);
80 const UInt_t kByteCountMask = 0x40000000;
83 startpos = buf.Length();
102 if (!(v.cnt & kByteCountMask)) {
104 buf.SetBufferOffset(buf.Length() -
sizeof(UInt_t));
107 bcnt = (v.cnt & ~kByteCountMask);
110 TFile* parent = (TFile*)buf.GetParent();
120 }
else if (version == 1) {
126 else if (parent && parent->GetVersion() < 40000)
131 fClass->GetStreamerInfos()->GetLast() > 1)
133 const TList* list = parent->GetStreamerInfoList();
134 const TStreamerInfo* local = (TStreamerInfo*)list->FindObject(
fClass->GetName());
166 Version_t version = 0;
167 Int_t ninfos = cl->GetStreamerInfos()->GetEntriesFast();
168 for (Int_t i = 1; i < ninfos; i++) {
171 TStreamerInfo* info = (TStreamerInfo*)cl->GetStreamerInfos()->At(i);
175 if (info->GetCheckSum() == checksum) {
Root streamer that calls our converters when reading in non-split mode.
const CheckSumMap & fConvmap
The checksum -> converter map passed to the constructor.
UInt_t fStreamerChecksum
Cached checksum for the last object read.
void FindVersion(TBuffer &buf, UInt_t &startpos, UInt_t &bcnt, Version_t &version)
Read the initial byte count/version from an object.
virtual void operator()(TBuffer &b, void *obj)
Standard Root streamer interface.
TFile * fLastFile
Cached file for the last object read.
Version_t R__FindStreamerInfoVersion(const TClass *cl, UInt_t checksum)
Translate a Root checksum to a class version number.
std::map< UInt_t, Payload > CheckSumMap
TConverterStreamer(const CheckSumMap &convmap, TClass *cls)
Constructor.
TClass * fClass
The transient class we're reading.