1 #ifndef CUDADataFormats_Common_ProductBase_h
2 #define CUDADataFormats_Common_ProductBase_h
13 class ScopedContextBase;
70 bool changed =
mayReuseStream_.compare_exchange_strong(expected,
false);
cudaEvent_t event() const
ProductBase & operator=(const ProductBase &)=delete
ProductBase(ProductBase &&other)
std::shared_ptr< std::remove_pointer_t< cudaEvent_t >> SharedEventPtr
ProductBase(int device, SharedStreamPtr stream, SharedEventPtr event)
cudaStream_t stream() const
std::shared_ptr< std::remove_pointer_t< cudaStream_t >> SharedStreamPtr
const SharedStreamPtr & streamPtr() const
ProductBase & operator=(ProductBase &&other)
std::atomic< bool > mayReuseStream_
bool mayReuseStream() const