ATLAS Offline Software
Loading...
Searching...
No Matches
DebugMemoryResourceTool.cxx
Go to the documentation of this file.
1//
2// Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3//
4
5// Local include(s).
7
8// VecMem include(s).
9#include <vecmem/memory/debug_memory_resource.hpp>
10
11namespace AthDevice {
12
14
15 // Retrieve the upstream tool.
16 ATH_CHECK(m_mrTool.retrieve());
17
18 // Construct the debug resource around it.
19 m_mr = std::make_unique<vecmem::debug_memory_resource>(m_mrTool->mr());
20
21 // Return gracefully.
22 return StatusCode::SUCCESS;
23}
24
25std::pmr::memory_resource& DebugMemoryResourceTool::mr() const {
26
27 assert(m_mr);
28 return *m_mr;
29}
30
31} // namespace AthDevice
#define ATH_CHECK
Evaluate an expression and check for errors.
virtual StatusCode initialize() override
Initialize the tool.
virtual std::pmr::memory_resource & mr() const override
Get the provided std::pmr::memory_resource object.
std::unique_ptr< std::pmr::memory_resource > m_mr
The memory resource that this tool uses.
ToolHandle< IMemoryResourceTool > m_mrTool
Underlying memory resource to use for allocations.