11#ifndef ROOT_TCollectionProxyFactory
12#define ROOT_TCollectionProxyFactory
41 #define TYPENAME typename
44 #define TYPENAME typename
70 typedef const std::type_info&
Info_t;
72 typedef const std::type_info&
Info_t;
218 {
Streamer(buff, obj, siz,
nullptr); }
Buffer base class used for serializing objects.
TClass instances represent classes, structs and namespaces in the ROOT type system.
Class streamer object to implement TClassStreamer functionality for I/O emulation.
~TCollectionClassStreamer() override
Standard destructor.
TCollectionClassStreamer()
Initializing constructor.
TCollectionClassStreamer & operator=(const TCollectionClassStreamer &rhs)=delete
void Stream(TBuffer &b, void *obj, const TClass *onfileClass) override
TGenCollectionProxy * GetXYZ()
void operator()(TBuffer &buff, void *obj) override
Streamer for I/O handling.
TCollectionClassStreamer(const TCollectionClassStreamer &c)
Copy constructor.
TClassStreamer * Generate() const override
Virtual copy constructor.
Class streamer object to implement TMemberStreamer functionality for I/O emulation.
~TCollectionMemberStreamer() override
Standard destructor.
void operator()(TBuffer &buff, void *obj, Int_t siz=0) override
Streamer for I/O handling.
TCollectionMemberStreamer()
Initializing constructor.
TCollectionMemberStreamer(const TCollectionMemberStreamer &c)
Copy constructor.
TCollectionMemberStreamer & operator=(const TCollectionMemberStreamer &rhs)=delete
TCollectionProxyFactory Interface to collection proxy and streamer generator.
static TVirtualCollectionProxy * GenEmulatedProxy(const char *class_name, Bool_t silent)
Generate emulated collection proxy for a given class.
TVirtualCollectionProxy Proxy_t
static TClassStreamer * GenEmulatedClassStreamer(const char *class_name, Bool_t silent)
Generate emulated class streamer for a given collection class.
static TMemberStreamer * GenMemberStreamer(const T &arg, TClass *cl)
Generate member streamer from template.
static Proxy_t * GenExplicitProxy(const ::ROOT::TCollectionProxyInfo &info, TClass *cl)
Generate proxy from static functions.
static TMemberStreamer * GenEmulatedMemberStreamer(const char *class_name, Bool_t silent)
Generate emulated member streamer for a given collection class.
static TClassStreamer * GenClassStreamer(const T &arg, TClass *cl)
Generate class streamer from template.
static TClassStreamer * GenExplicitClassStreamer(const ::ROOT::TCollectionProxyInfo &info, TClass *cl)
Generate class streamer from static functions.
const std::type_info & Info_t
static Proxy_t * GenProxy(const T &arg, TClass *cl)
Generate proxy from template.
static TMemberStreamer * GenExplicitMemberStreamer(const ::ROOT::TCollectionProxyInfo &info, TClass *cl)
Generate member streamer from static functions.
static TGenCollectionStreamer * GenExplicitStreamer(const ::ROOT::TCollectionProxyInfo &info, TClass *cl)
Generate streamer from static functions.
Class streamer object to implement TClassStreamer functionality for I/O emulation.
TGenCollectionProxy * fStreamer
Pointer to worker streamer.
void InvalidProxyError()
Issue Error about invalid proxy.
virtual ~TCollectionStreamer()
Standard destructor.
void AdoptStreamer(TGenCollectionProxy *streamer)
Attach worker proxy.
TCollectionStreamer()
Initializing constructor.
TCollectionStreamer & operator=(const TCollectionStreamer &)=delete
void Streamer(TBuffer &refBuffer, void *obj, int siz, TClass *onFileClass)
Streamer for I/O handling.
Streamer around an arbitrary STL like container, which implements basic container functionality.
Proxy around an arbitrary container, which implements basic functionality and iteration.
TClass * GetCollectionClass() const override
Return a pointer to the TClass representing the container.
virtual void ReadBuffer(TBuffer &b, void *obj)
Defines a common interface to inspect/change the contents of an object that represents a collection.