Deprecate thrust iterator traversal
Open
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 486
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 295
Description
From my understanding (by reading the Boost.Iterator docs) iterator traversal is distinct from element access, so a proxy iterator (not returning a T&) can also be declared to be random access. E.g. a counting iterator is a input_iterator, because its value type is not a reference. However, this concept is obsolete in C++20, where iterator tags were replaced in favor of iterator concepts.
We should move any thrust iterator traversal trait into a detail namespace and add deprecated public aliases. Users should move away from this functionality.
We should replace iterator traversal by the C++20 iterator concepts in the long run.
Contributor guide
Assessment
This issue has not been assessed yet.