22#include <unordered_map>
31 static const TNamed*
ptr(
const char* stringPtr) ;
46 std::unordered_map<std::string,std::unique_ptr<TNamed>>
_map;
RooNameReg is a registry for const char* names.
RooNameReg(const RooNameReg &other)=delete
std::unordered_map< std::string, std::unique_ptr< TNamed > > _map
static const char * str(const TNamed *ptr)
Return C++ string corresponding to given TNamed pointer.
static const TNamed * ptr(const char *stringPtr)
Return a unique TNamed pointer for given C++ string.
virtual ~RooNameReg()
Destructor.
const TNamed * constPtr(const char *stringPtr)
Return a unique TNamed pointer for given C++ string.
static RooNameReg & instance()
Return reference to singleton instance.
static const TNamed * known(const char *stringPtr)
If the name is already known, return its TNamed pointer. Otherwise return 0 (don't register the name)...
const char * constStr(const TNamed *namePtr)
Return C++ string corresponding to given TNamed pointer.
static void cleanup()
Cleanup function called by atexit() handler installed by RooSentinel to delete global objects on heap...
The TNamed class is the base class for all named ROOT classes.