CMS 3D CMS Logo

ScopedContextFwd.h
Go to the documentation of this file.
1 #ifndef HeterogeneousCore_AlpakaInterface_interface_ScopedContextFwd_h
2 #define HeterogeneousCore_AlpakaInterface_interface_ScopedContextFwd_h
3 
4 #include <alpaka/alpaka.hpp>
5 
6 // Forward declaration of the alpaka framework Context classes
7 //
8 // This file is under HeterogeneousCore/AlpakaInterface to avoid introducing a dependency on
9 // HeterogeneousCore/AlpakaCore.
10 
11 namespace cms::alpakatools {
12 
13  namespace impl {
14  template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
15  class ScopedContextBase;
16 
17  template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
18  class ScopedContextGetterBase;
19  } // namespace impl
20 
21  template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
22  class ScopedContextAcquire;
23 
24  template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
25  class ScopedContextProduce;
26 
27  template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
28  class ScopedContextTask;
29 
30  template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
31  class ScopedContextAnalyze;
32 
33 } // namespace cms::alpakatools
34 
35 #endif // HeterogeneousCore_AlpakaInterface_interface_ScopedContextFwd_h