22#include <unordered_map>
32 static const TNamed*
ptr(
const char* stringPtr) ;
45 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.
The TNamed class is the base class for all named ROOT classes.