ATLAS Offline Software
Loading...
Searching...
No Matches
IMemoryResourcesTool.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 ATHDEVICEINTERFACES_IMEMORYRESOURCESTOOL_H
5#define ATHDEVICEINTERFACES_IMEMORYRESOURCESTOOL_H
6
7// Framework include(s).
8#include "GaudiKernel/IAlgTool.h"
9
10// System include(s).
11#include <memory_resource>
12
13namespace AthDevice {
14
29class IMemoryResourcesTool : virtual public IAlgTool {
30
31 public:
34
36 virtual ~IMemoryResourcesTool() = default;
37
39 virtual std::pmr::memory_resource& mainMR() const = 0;
40
42 virtual std::pmr::memory_resource* hostMR() const = 0;
43
44}; // class IMemoryResourcesTool
45
46} // namespace AthDevice
47
48#endif // ATHDEVICEINTERFACES_IMEMORYRESOURCESTOOL_H
Interface for a tool that provides a main/device and a host memory resource.
virtual std::pmr::memory_resource & mainMR() const =0
Get the "main" / "device" std::pmr::memory_resource object.
virtual ~IMemoryResourcesTool()=default
Destructor.
DeclareInterfaceID(IMemoryResourcesTool, 1, 0)
Declare the interface that the tool will implement.
virtual std::pmr::memory_resource * hostMR() const =0
Get the "host" (accessible) std::pmr::memory_resource object.