ATLAS Offline Software
IObjectManager.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 #ifndef XAODROOTACCESS_TOOLS_IOBJECTMANAGER_H
3 #define XAODROOTACCESS_TOOLS_IOBJECTMANAGER_H
4 
5 // Local include(s).
8 
9 // System include(s).
10 #include <memory>
11 
12 namespace xAOD::Details {
13 
21 
22  public:
24  IObjectManager(std::unique_ptr<THolder> holder);
30  ~IObjectManager() override;
31 
36 
38  const THolder* holder() const;
40  THolder* holder();
41 
42  private:
44  std::unique_ptr<THolder> m_holder;
45 
46 }; // class IObjectManager
47 
48 } // namespace xAOD::Details
49 
50 #endif // XAODROOTACCESS_TOOLS_IOBJECTMANAGER_H
xAOD::Details::IObjectManager::IObjectManager
IObjectManager(IObjectManager &&parent) noexcept
Move constructor.
xAOD::Details::IObjectManager::m_holder
std::unique_ptr< THolder > m_holder
Object holding onto an EDM object in memory.
Definition: IObjectManager.h:44
xAOD::THolder
This class takes care of holding EDM objects in memory.
Definition: THolder.h:35
xAOD::Details::IObjectManager::holder
const THolder * holder() const
Accessor to the Holder object.
Definition: IObjectManager.cxx:43
xAOD::TVirtualManager
Interface class for the "manager classes".
Definition: TVirtualManager.h:24
xAOD::Details::IObjectManager::~IObjectManager
~IObjectManager() override
Destructor.
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::Details::IObjectManager::operator=
IObjectManager & operator=(const IObjectManager &parent)
Copy assignment operator.
Definition: IObjectManager.cxx:22
TVirtualManager.h
xAOD::Details::IObjectManager::operator=
IObjectManager & operator=(IObjectManager &&parent) noexcept
Move assignment operator.
THolder.h
xAOD::Details::IObjectManager::IObjectManager
IObjectManager(std::unique_ptr< THolder > holder)
Constructor.
Definition: IObjectManager.cxx:8
xAOD::Details::IObjectManager
Manager for EDM objects created by ROOT.
Definition: IObjectManager.h:20
xAOD::Details
Definition: IObjectManager.cxx:6