![]() |
ATLAS Offline Software
|
Application-wide registry of destructor objects. More...
#include <TDestructorRegistry.h>
Public Member Functions | |
| const TVirtualDestructor * | get (const std::type_info &ti) const |
| Get the destructor for a given type. | |
| template<class T> | |
| void | add () |
| Add a new destructor object. | |
Static Public Member Functions | |
| static TDestructorRegistry & | instance () |
| Function accessing the singleton instance of this type. | |
Private Types | |
| typedef std::map< const std::type_info *, std::unique_ptr< TVirtualDestructor > > | Map_t |
| Type of the internal map. | |
Private Member Functions | |
| TDestructorRegistry () | |
| Hide the constructor of the type. | |
| TDestructorRegistry (const TDestructorRegistry &)=delete | |
| Hide the copy-constructor. | |
Private Attributes | |
| Map_t | m_types |
| Internal map of known destructor objects. | |
| std::shared_timed_mutex | m_mutex |
| Mutex for the destructor map. | |
Application-wide registry of destructor objects.
This registry is used to keep track of how to destruct objects that are kept in the transient store, and don't have a ROOT dictionary available for them.
Definition at line 31 of file TDestructorRegistry.h.
|
private |
Type of the internal map.
Definition at line 51 of file TDestructorRegistry.h.
|
private |
Hide the constructor of the type.
Definition at line 41 of file TDestructorRegistry.cxx.
|
privatedelete |
Hide the copy-constructor.
| void xAOD::TDestructorRegistry::add | ( | ) |
Add a new destructor object.
| const TVirtualDestructor * xAOD::TDestructorRegistry::get | ( | const std::type_info & | ti | ) | const |
Get the destructor for a given type.
Definition at line 23 of file TDestructorRegistry.cxx.
|
static |
Function accessing the singleton instance of this type.
Definition at line 16 of file TDestructorRegistry.cxx.
|
mutableprivate |
Mutex for the destructor map.
This type is used because the registry is filled mostly at the very beginning of a job, and is just read from there on. For the reading the clients don't need exclusive locks on the store.
Definition at line 60 of file TDestructorRegistry.h.
|
private |
Internal map of known destructor objects.
Definition at line 53 of file TDestructorRegistry.h.