Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:15:40

0001 #ifndef HeterogeneousCore_AlpakaInterface_interface_ScopedContextFwd_h
0002 #define HeterogeneousCore_AlpakaInterface_interface_ScopedContextFwd_h
0003 
0004 #include <alpaka/alpaka.hpp>
0005 
0006 // Forward declaration of the alpaka framework Context classes
0007 //
0008 // This file is under HeterogeneousCore/AlpakaInterface to avoid introducing a dependency on
0009 // HeterogeneousCore/AlpakaCore.
0010 
0011 namespace cms::alpakatools {
0012 
0013   namespace impl {
0014     template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
0015     class ScopedContextBase;
0016 
0017     template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
0018     class ScopedContextGetterBase;
0019   }  // namespace impl
0020 
0021   template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
0022   class ScopedContextAcquire;
0023 
0024   template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
0025   class ScopedContextProduce;
0026 
0027   template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
0028   class ScopedContextTask;
0029 
0030   template <typename TQueue, typename = std::enable_if_t<alpaka::isQueue<TQueue>>>
0031   class ScopedContextAnalyze;
0032 
0033 }  // namespace cms::alpakatools
0034 
0035 #endif  // HeterogeneousCore_AlpakaInterface_interface_ScopedContextFwd_h