25#ifndef ROOTCONVERSIONS_TCONVERTERREGISTRY_H
26#define ROOTCONVERSIONS_TCONVERTERREGISTRY_H
98 const std::string& to_type,
99 TMemberStreamer* streamer);
102 const std::string& to_type)
const;
111 using Payload = std::pair<TVirtualConverter*, bool>;
113 using MapType = std::map<std::string, CheckSumMap>;
120 using lock_t = std::lock_guard<std::mutex>;
124 using SMapType = std::map<std::string, TMemberStreamer*>;
Registry for Root converters.
MapType fMap
Map of registered converters.
TMemberStreamer * GetStreamerConverter(const std::string &from_type, const std::string &to_type) const
std::map< UInt_t, Payload > CheckSumMap
std::map< std::string, TMemberStreamer * > SMapType
Streamer converters.
std::map< std::string, CheckSumMap > MapType
std::pair< TVirtualConverter *, bool > Payload
std::lock_guard< std::mutex > lock_t
static TConverterRegistry * Instance()
Return a pointer to the global registry instance.
~TConverterRegistry()
Destructor.
void AddConverter(TVirtualConverter *conv)
Add a new converter to the registry.
std::mutex fMutex
Protect access to the map.
void AddStreamerConverter(const std::string &from_type, const std::string &to_type, TMemberStreamer *streamer)
TVirtualConverter * GetConverter(const char *name, int checksum) const
Look up a converter in the registry by name and checksum.
Base class for converters for Root schema evolution.