ATLAS Offline Software
Loading...
Searching...
No Matches
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
12namespace xAOD::Details {
13
21
22 public:
24 IObjectManager(std::unique_ptr<THolder> holder);
26 IObjectManager(const IObjectManager& parent);
28 IObjectManager(IObjectManager&& parent) noexcept;
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
IObjectManager(IObjectManager &&parent) noexcept
Move constructor.
IObjectManager & operator=(IObjectManager &&parent) noexcept
Move assignment operator.
std::unique_ptr< THolder > m_holder
Object holding onto an EDM object in memory.
IObjectManager(std::unique_ptr< THolder > holder)
Constructor.
const THolder * holder() const
Accessor to the Holder object.
IObjectManager & operator=(const IObjectManager &parent)
Copy assignment operator.
~IObjectManager() override
Destructor.
This class takes care of holding EDM objects in memory.
Definition THolder.h:35
Interface class for the "manager classes".