#ifndef RAIISAFECUDA_STREAM_RELATED_H #define RAIISAFECUDA_STREAM_RELATED_H #include #include #include namespace safe_cuda { template using returnType = std::variant; using streamDestroyType = decltype(&cudaStreamDestroy); /** * \brief It tries to create a stream, putting it in a smart pointer with its correct destructor. * \return smart pointer if creation is OK, else the CUDA error */ returnType> create_stream() noexcept; } #endif //RAIISAFECUDA_STREAM_RELATED_H