13 #include "TClassEdit.h" 23 static ROOT::ESTLType stl_type(
const std::string& class_name) {
26 std::vector<std::string> inside;
27 int num = TClassEdit::GetSplit(class_name.c_str(),inside,nested);
29 return (ROOT::ESTLType)TClassEdit::STLKind(inside[0].c_str());
38 std::string cl = class_name;
39 if ( cl.find(
"stdext::hash_") != std::string::npos )
40 cl.replace(3,10,
"::");
41 if ( cl.find(
"__gnu_cxx::hash_") != std::string::npos )
42 cl.replace(0,16,
"std::");
44 switch ( stl_type(cl) ) {
48 case ROOT::kSTLmultimap:
67 return GenEmulation(class_name, silent);
124 Fatal(
"TCollectionStreamer>",
"No proxy available. Data streaming impossible.");
virtual ~TCollectionStreamer()
Standard destructor.
static TMemberStreamer * GenEmulatedMemberStreamer(const char *class_name, Bool_t silent)
Generate emulated member streamer for a given collection class.
Class streamer object to implement TClassStreamer functionality for I/O emulation.
Class streamer object to implement TMemberStreamer functionality for I/O emulation.
void Fatal(const char *location, const char *msgfmt,...)
void AdoptStreamer(TGenCollectionProxy *streamer)
Attach worker proxy.
static TClassStreamer * GenEmulatedClassStreamer(const char *class_name, Bool_t silent)
Generate emulated class streamer for a given collection class.
Buffer base class used for serializing objects.
Streamer around an arbitrary STL like container, which implements basic container functionality...
static Proxy_t * GenExplicitProxy(const ::ROOT::TCollectionProxyInfo &info, TClass *cl)
Generate proxy from static functions.
Streamer around a map container.
static TGenCollectionStreamer * GenExplicitStreamer(const ::ROOT::TCollectionProxyInfo &info, TClass *cl)
Generate streamer from static functions.
virtual void Streamer(TBuffer &refBuffer)
Streamer Function.
static TMemberStreamer * GenExplicitMemberStreamer(const ::ROOT::TCollectionProxyInfo &info, TClass *cl)
Generate member streamer from static functions.
Class streamer object to implement TClassStreamer functionality for I/O emulation.
TGenCollectionProxy * fStreamer
Pointer to worker streamer.
TCollectionStreamer()
Initializing constructor.
The ROOT global object gROOT contains a list of all defined classes.
static TVirtualCollectionProxy * GenEmulatedProxy(const char *class_name, Bool_t silent)
Generate emulated collection proxy for a given class.
virtual void SetOnFileClass(TClass *cl)
virtual TVirtualCollectionProxy * Generate() const
Virtual copy constructor.
Proxy around an arbitrary container, which implements basic functionality and iteration.
void InvalidProxyError()
Issue Error about invalid proxy.
void Streamer(TBuffer &refBuffer, void *obj, int siz, TClass *onFileClass)
Streamer for I/O handling.
static TClassStreamer * GenExplicitClassStreamer(const ::ROOT::TCollectionProxyInfo &info, TClass *cl)
Generate class streamer from static functions.