| 28 | namespace py = pybind11; |
| 29 | |
| 30 | class Stream : public py::object |
| 31 | { |
| 32 | public: |
| 33 | Stream() = default; |
| 34 | |
| 35 | static Stream Current() |
| 36 | { |
| 37 | py::object temp = py::reinterpret_borrow<py::object>(capi().Stream_GetCurrent()); |
| 38 | CheckCAPIError(); |
| 39 | NVCV_ASSERT(temp.is_none() == false); |
| 40 | return Stream(temp); |
| 41 | } |
| 42 | |
| 43 | cudaStream_t cudaHandle() const |
| 44 | { |
| 45 | cudaStream_t out = capi().Stream_GetCudaHandle(this->ptr()); |
| 46 | CheckCAPIError(); |
| 47 | return out; |
| 48 | } |
| 49 | |
| 50 | private: |
| 51 | friend struct py::detail::type_caster<Stream>; |
| 52 | |
| 53 | py::object m_pyStream; |
| 54 | |
| 55 | explicit Stream(py::object obj) |
| 56 | : py::object(obj) |
| 57 | { |
| 58 | } |
| 59 | }; |
| 60 | |
| 61 | } // namespace nvcvpy |
| 62 | |