NVIDIA / cccl

CUDA Core Compute Libraries
https://nvidia.github.io/cccl/
Other
1.26k stars 162 forks source link

deprecate "universal" iterator categories #694

Open jaredhoberock opened 10 years ago

jaredhoberock commented 10 years ago

I don't think Thrust uses them, there's no reason for anyone else to, and they've always seemed hacky

jaredhoberock commented 10 years ago

Push this to a future release when nvcc will be able to recognize #pragma GCC diagnostic ignored "-Wdeprecated-declarations".

brycelelbach commented 7 years ago

What's the status on this? Did we ever deprecate these?

jaredhoberock commented 7 years ago

These items are still around:

$ grep -r universal /usr/local/cuda/include/thrust/
/usr/local/cuda/include/thrust/iterator/iterator_categories.h:#include <thrust/iterator/detail/universal_categories.h>
/usr/local/cuda/include/thrust/iterator/detail/universal_categories.h:struct input_universal_iterator_tag
/usr/local/cuda/include/thrust/iterator/detail/universal_categories.h:struct output_universal_iterator_tag
/usr/local/cuda/include/thrust/iterator/detail/universal_categories.h:struct forward_universal_iterator_tag
/usr/local/cuda/include/thrust/iterator/detail/universal_categories.h:  : input_universal_iterator_tag
/usr/local/cuda/include/thrust/iterator/detail/universal_categories.h:struct bidirectional_universal_iterator_tag
/usr/local/cuda/include/thrust/iterator/detail/universal_categories.h:  : forward_universal_iterator_tag
/usr/local/cuda/include/thrust/iterator/detail/universal_categories.h:// create this struct to control conversion precedence in random_access_universal_iterator_tag
/usr/local/cuda/include/thrust/iterator/detail/universal_categories.h:struct random_access_universal_iterator_tag
/usr/local/cuda/include/thrust/iterator/detail/universal_categories.h:  // bidirectional_universal_iterator_tag is P1
/usr/local/cuda/include/thrust/iterator/detail/universal_categories.h:  operator detail::one_degree_of_separation<bidirectional_universal_iterator_tag> () {return detail::one_degree_of_separation<bidirectional_universal_iterator_tag>();}

I think these remain good candidates for removal.