ATLAS Offline Software
Loading...
Searching...
No Matches
ICopyProvider.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_ICOPYPROVIDER_H
5#define ATHDEVICEINTERFACES_ICOPYPROVIDER_H
6
7// Framework include(s).
8#include "GaudiKernel/EventContext.h"
9
10// VecMem include(s).
11#include <vecmem/utils/copy.hpp>
12
13// System include(s).
14#include <memory>
15
16namespace AthDevice {
17
20
21 public:
23 virtual ~ICopyProvider() = default;
24
30 virtual std::shared_ptr<const vecmem::copy> copy(
31 const EventContext& ctx) const = 0;
32
33}; // class ICopyProvider
34
35} // namespace AthDevice
36
37#endif // ATHDEVICEINTERFACES_ICOPYPROVIDER_H
Interface for a component that provides a vecmem::copy object.
virtual ~ICopyProvider()=default
Destructor.
virtual std::shared_ptr< const vecmem::copy > copy(const EventContext &ctx) const =0
Get the provided vecmem::copy object.