![]() |
ATLAS Offline Software
|
Root streamer that calls our converter when reading in non-split mode. More...
#include <TConverterStreamer.h>
Public Types | |
| using | Payload = std::pair<TVirtualConverter*, bool> |
| using | CheckSumMap = std::map<UInt_t, Payload> |
Public Member Functions | |
| TConverterStreamer (const CheckSumMap &convmap, TClass *cls) | |
| Constructor. | |
| virtual void | operator() (TBuffer &b, void *obj) |
| Standard Root streamer interface. | |
Private Member Functions | |
| void | FindVersion (TBuffer &buf, UInt_t &startpos, UInt_t &bcnt, Version_t &version) |
| Read the initial byte count/version from an object. | |
| Version_t | R__FindStreamerInfoVersion (const TClass *cl, UInt_t checksum) |
| Translate a Root checksum to a class version number. | |
Private Attributes | |
| const CheckSumMap & | fConvmap |
| The checksum -> converter map passed to the constructor. | |
| TClass * | fClass |
| The transient class we're reading. | |
| UInt_t | fStreamerChecksum |
| Cached checksum for the last object read. | |
| TFile * | fLastFile |
| Cached file for the last object read. | |
Root streamer that calls our converter when reading in non-split mode.
Definition at line 44 of file TConverterStreamer.h.
| using TConverterStreamer::CheckSumMap = std::map<UInt_t, Payload> |
Definition at line 49 of file TConverterStreamer.h.
| using TConverterStreamer::Payload = std::pair<TVirtualConverter*, bool> |
Definition at line 48 of file TConverterStreamer.h.
| TConverterStreamer::TConverterStreamer | ( | const CheckSumMap & | convmap, |
| TClass * | cls ) |
Constructor.
| convmap | Map from checksums to converter instances. |
| cls | The transient class that we're reading. |
Definition at line 24 of file TConverterStreamer.cxx.
|
private |
Read the initial byte count/version from an object.
| buf | The Root I/O buffer. | |
| [out] | startpos | The starting position of the object. |
| [out] | bcnt | The length of the object, in bytes. |
| [out] | version | The version of the object being read. |
As a side effect, this sets fStreamerChecksum.
Definition at line 75 of file TConverterStreamer.cxx.
|
virtual |
Standard Root streamer interface.
Definition at line 39 of file TConverterStreamer.cxx.
|
private |
Translate a Root checksum to a class version number.
| cl | The class being examined. |
| checksum | The checksum to translate. |
cl with checksum checksum, or 0 if there's no match. Definition at line 158 of file TConverterStreamer.cxx.
|
private |
The transient class we're reading.
Definition at line 94 of file TConverterStreamer.h.
|
private |
The checksum -> converter map passed to the constructor.
Definition at line 91 of file TConverterStreamer.h.
|
private |
Cached file for the last object read.
Definition at line 100 of file TConverterStreamer.h.
|
private |
Cached checksum for the last object read.
Definition at line 97 of file TConverterStreamer.h.