|
ATLAS Offline Software
|
Go to the documentation of this file.
90 #ifndef TVIRTUALCONVERTER_H
91 #define TVIRTUALCONVERTER_H
141 const std::string& trans_cls,
142 const std::string& pers_cls);
154 const std::string& pers_cls);
202 virtual void ConvertVoid (
void* transobj,
const void* persobj) = 0;
218 UInt_t R__S, UInt_t R__c);
234 static TClass*
ToClass (
const std::type_info&
id);
282 template <
class TTrans,
class TPers>
298 TClass* pers_cls = 0);
310 TClass* trans_cls = 0,
311 TClass* pers_cls = 0);
332 virtual void Convert (TTrans* transobj,
const TPers* persobj) = 0;
339 #endif // not TVIRTUALCONVERTER_H
TClass * GetPersClass()
Return the persistent class, from which we're converting.
static TClass * ToClass(const std::string &name)
Helper to convert a class name to a Root class pointer.
virtual void ConvertVoid(void *transobj, const void *persobj)
Do the conversion.
int GetCheckSum() const
Return the checksum of the class from which we're converting.
int fOldLast
Used by CheckStreamInfos: the length of the streamerinfo list that we saw on the last CheckStreamInfo...
TVirtualConverter()
Default constructor.
TVirtualConverter_T(UInt_t checksum, TClass *trans_cls=0, TClass *pers_cls=0)
Constructor, with checksum and class pointers.
virtual ~TVirtualConverter()
Destructor.
virtual void ReadBuffer(TBuffer &b, void *obj, Version_t version, UInt_t R__S, UInt_t R__c)
Read object in non-split mode.
UInt_t fCheckSum
The declared checksum.
TClass * fTransClass
The declared transient class.
void * fPersObj
The temporary persistent object instance, used for conversions (in non-split mode).
TVirtualConverter_T(TClass *trans_cls=0, TClass *pers_cls=0)
Constructor, with class pointers.
void CheckClasses()
Helper to check that the classes have been defined properly.
Base class for converters for Root schema evolution.
void CheckStreamInfos()
Helper to allow for automatic schema evolution for persistent classes.
TClass * GetTransClass()
Return the transient class, to which we're converting.
TClass * fPersClass
The declared persistent class.
virtual void Convert(TTrans *transobj, const TPers *persobj)=0
Do the conversion.
void SetCtorInfo(UInt_t checksum, TClass *trans_cls, TClass *pers_cls)
Set the parameters that would normally be passed to the constructor.
virtual void * NewPersObj()
Create a new instance of the persistent class.
virtual void DeletePersObj(void *persobj)
Destroy an instance of the persistent class.
Easy-to-use templated class for defining converters.
virtual void ConvertVoid(void *transobj, const void *persobj)=0
Do the conversion.