ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthDevice
AthDeviceComps
src
BinaryPageMemoryResourceSvc.h
Go to the documentation of this file.
1
//
2
// Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
//
4
#ifndef ATHDEVICECOMPS_BINARYPAGEMEMORYRESOURCESVC_H
5
#define ATHDEVICECOMPS_BINARYPAGEMEMORYRESOURCESVC_H
6
7
// Framework include(s).
8
#include "
AthenaBaseComps/AthService.h
"
9
#include "GaudiKernel/ToolHandle.h"
10
11
// AthDevice include(s).
12
#include "
AthDeviceInterfaces/IMemoryResourceSvc.h
"
13
#include "
AthDeviceInterfaces/IMemoryResourceTool.h
"
14
15
namespace
AthDevice
{
16
21
class
BinaryPageMemoryResourceSvc
22
:
public
extends<AthService, IMemoryResourceSvc> {
23
24
public
:
25
// Inherit the base class's constructor(s).
26
using
extends::extends;
27
30
32
virtual
StatusCode
initialize
()
override
;
33
35
38
40
virtual
std::pmr::memory_resource&
mr
()
const override
;
41
43
virtual
std::string_view
deviceName
()
const override
;
44
46
47
private
:
49
ToolHandle<IMemoryResourceTool>
m_mrTool
{
50
this
,
"MRTool"
,
""
,
"Tool providing the memory resource to be cached"
};
51
52
std::unique_ptr<std::pmr::memory_resource>
m_cachedMR
;
54
std::unique_ptr<std::pmr::memory_resource>
m_syncedMR
;
55
56
};
// class BinaryPageMemoryResourceSvc
57
58
}
// namespace AthDevice
59
60
#endif
// ATHDEVICECOMPS_BINARYPAGEMEMORYRESOURCESVC_H
AthService.h
IMemoryResourceSvc.h
IMemoryResourceTool.h
AthDevice::BinaryPageMemoryResourceSvc
Service implementing "binary page" caching on top of another memory resource.
Definition
BinaryPageMemoryResourceSvc.h:22
AthDevice::BinaryPageMemoryResourceSvc::deviceName
virtual std::string_view deviceName() const override
The name of the device for which the memory resource is provided.
Definition
BinaryPageMemoryResourceSvc.cxx:40
AthDevice::BinaryPageMemoryResourceSvc::m_cachedMR
std::unique_ptr< std::pmr::memory_resource > m_cachedMR
The memory resource that this tool uses for caching.
Definition
BinaryPageMemoryResourceSvc.h:52
AthDevice::BinaryPageMemoryResourceSvc::mr
virtual std::pmr::memory_resource & mr() const override
Get the provided std::pmr::memory_resource object.
Definition
BinaryPageMemoryResourceSvc.cxx:33
AthDevice::BinaryPageMemoryResourceSvc::initialize
virtual StatusCode initialize() override
Initialize the service.
Definition
BinaryPageMemoryResourceSvc.cxx:17
AthDevice::BinaryPageMemoryResourceSvc::m_mrTool
ToolHandle< IMemoryResourceTool > m_mrTool
Handle to the tool providing the underlying memory resource.
Definition
BinaryPageMemoryResourceSvc.h:49
AthDevice::BinaryPageMemoryResourceSvc::m_syncedMR
std::unique_ptr< std::pmr::memory_resource > m_syncedMR
The memory resource that this tool uses for synchronization.
Definition
BinaryPageMemoryResourceSvc.h:54
AthDevice
Definition
BinaryPageMemoryResourceSvc.cxx:15
Generated on
for ATLAS Offline Software by
1.17.0