|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef XAODROOTACCESS_TOOLS_TDESTRUCTORREGISTRY_H
6 #define XAODROOTACCESS_TOOLS_TDESTRUCTORREGISTRY_H
10 #include <shared_mutex>
21 class TVirtualDestructor;
50 typedef std::map<
const std::type_info*,
51 std::unique_ptr< TVirtualDestructor > >
Map_t;
69 #endif // XAODROOTACCESS_TOOLS_TDESTRUCTORREGISTRY_H
void add()
Add a new destructor object.
TDestructorRegistry()
Hide the constructor of the type.
std::map< const std::type_info *, std::unique_ptr< TVirtualDestructor > > Map_t
Type of the internal map.
Map_t m_types
Internal map of known destructor objects.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Base class for the templated destructor types.
Application-wide registry of destructor objects.
static TDestructorRegistry & instance()
Function accessing the singleton instance of this type.
TDestructorRegistry(const TDestructorRegistry &)=delete
Hide the copy-constructor.
std::shared_timed_mutex m_mutex
Mutex for the destructor map.
const TVirtualDestructor * get(const std::type_info &ti) const
Get the destructor for a given type.