ATLAS Offline Software
Loading...
Searching...
No Matches
IMemoryResourceProvider.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_IMEMORYRESOURCEPROVIDER_H
5#define ATHDEVICEINTERFACES_IMEMORYRESOURCEPROVIDER_H
6
7// System include(s).
8#include <memory_resource>
9#include <string_view>
10
11namespace AthDevice {
12
15
16 public:
18 virtual ~IMemoryResourceProvider() = default;
19
21 virtual std::pmr::memory_resource& mr() const = 0;
22
24 virtual std::string_view deviceName() const = 0;
25
26}; // class IMemoryResourceProvider
27
28} // namespace AthDevice
29
30#endif // ATHDEVICEINTERFACES_IMEMORYRESOURCEPROVIDER_H
Interface for a component that provides a "memory resource".
virtual std::pmr::memory_resource & mr() const =0
Get the provided std::pmr::memory_resource object.
virtual ~IMemoryResourceProvider()=default
Destructor.
virtual std::string_view deviceName() const =0
The name of the device for which the memory resource is provided.