ATLAS Offline Software
StreamPool.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 //
3 // Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 //
5 
6 
7 #ifndef ATHCUDASERVICES_STREAMPOOL_H
8 #define ATHCUDASERVICES_STREAMPOOL_H
9 
10 
11 #include "AthCUDACore/Macros.cuh"
12 #include <memory>
13 
14 
15 namespace AthCUDA {
16 
17 
18 class StreamPoolImpl;
20 {
21 public:
22  using ptr = void*;
23  StreamPool();
24  ~StreamPool();
25  bool empty() const;
26  ptr pop();
27  void push( const ptr& s );
28 
29 
30 private:
31  std::unique_ptr<StreamPoolImpl> m_impl;
32 };
33 
34 
35 } // namespace AthCUDA
36 
37 
38 #endif // not ATHCUDASERVICES_STREAMPOOL_H
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
AthCUDA::StreamPool::pop
ptr pop()
Definition: StreamPool.cxx:40
AthCUDA::StreamPool
Definition: StreamPool.h:20
AthCUDA
Definition: Info.h:14
AthCUDA::StreamPool::~StreamPool
~StreamPool()
Definition: StreamPool.cxx:29
AthCUDA::StreamPool::ptr
void * ptr
Definition: StreamPool.h:22
AthCUDA::StreamPool::StreamPool
StreamPool()
Definition: StreamPool.cxx:23
AthCUDA::StreamPool::empty
bool empty() const
Definition: StreamPool.cxx:34
AthCUDA::StreamPool::m_impl
std::unique_ptr< StreamPoolImpl > m_impl
Definition: StreamPool.h:31
AthCUDA::StreamPool::push
void push(const ptr &s)
Definition: StreamPool.cxx:48