cccl
cccl copied to clipboard
[FEA]: Improve binary function objects and replace thrust implementation
Is this a duplicate?
- [x] I confirmed there appear to be no duplicate issues for this request and that I agree to the Code of Conduct
Area
General CCCL
Is your feature request related to a problem? Please describe.
Currently the binary function objects like cuda::std::plus do not universally default their template argument in all standard modes:
#if _CCCL_STD_VER > 2011
template <class _Tp = void>
#else
template <class _Tp>
#endif
struct _LIBCUDACXX_TEMPLATE_VIS plus;
Furthermore those objects are duplicated in thrust.
Describe the solution you'd like
We should replace thrusts versions with an alias declaration and default the cuda::std ones universally
Describe alternatives you've considered
No response
Additional context
No response