[FEA]: Add an owning stream wrapper
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 486
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 295
Description
### Is this a duplicate?
- [X] I confirmed there appear to be no [duplicate issues](https://github.com/NVIDIA/cccl/issues) for this request and that I agree to the [Code of Conduct](CODE_OF_CONDUCT.md)
### Area
General CCCL
### Is your feature request related to a problem? Please describe.
`cudaStream_t` is an opaque pointer type that has many issues that don't need to be discussed here. It would be useful to have an owning stream type that can be used across libraries so it's destroyed at the appropriate time.
### Describe the solution you'd like
Provide an API for something like a `unique_stream` and `shared_stream`.
### Describe alternatives you've considered
Making our own wrapper, but then it can't be used in other libraries.
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.