ATLAS Offline Software
Loading...
Searching...
No Matches
StreamPool.cxx
Go to the documentation of this file.
1//
2// Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3//
4
5
6#include "StreamPool.h"
7
8// TBB include(s).
9#include <tbb/concurrent_queue.h>
10
11
12namespace AthCUDA {
13
14
16{
17public:
18 tbb::concurrent_bounded_queue< StreamPool::ptr > m_streams;
19};
20
21
22
26
27
28
32
33
35{
36 return m_impl->m_streams.empty();
37}
38
39
41{
42 ptr s = nullptr;
43 m_impl->m_streams.pop( s );
44 return s;
45}
46
47
48void StreamPool::push( const ptr& s )
49{
50 m_impl->m_streams.push( s );
51}
52
53
54} // namespace AthCUDA
tbb::concurrent_bounded_queue< StreamPool::ptr > m_streams
void push(const ptr &s)
bool empty() const
std::unique_ptr< StreamPoolImpl > m_impl
Definition StreamPool.h:31
Definition Info.h:14