5#ifndef ATHCUDASERVICES_STREAMPOOLSVCIMPL_H
6#define ATHCUDASERVICES_STREAMPOOLSVCIMPL_H
15 class StreamPoolSvcImplData;
Interface for a CUDA stream pool service.
Helper class for handling CUDA streams.
StreamPoolSvcImpl & operator=(const StreamPoolSvcImpl &)=delete
Copy assignment operator.
StreamPoolSvcImpl(const StreamPoolSvcImpl &)=delete
Copy constructor.
void yieldStream(StreamHolder &stream)
Put a given stream back into the pool.
StreamPoolSvcImplData * m_data
Data used by the class behind the scenes.
StreamPoolSvcImpl(StreamPoolSvcImpl &&parent)
Move constructor.
IStreamPoolSvc * m_svc
The service that this object is used by.
StreamPoolSvcImpl(unsigned int nStreams, IStreamPoolSvc &svc)
Constructor with all necessary arguments.
~StreamPoolSvcImpl()
Destructor.
StreamPoolSvcImpl & operator=(StreamPoolSvcImpl &&rhs)
Move assignment operator.
StreamHolder getAvailableStream()
Get a stream from the pool.