NVIDIA / NVIDIA/cccl

Deprecate thrust iterator traversal

Open
#3,562 2 comments 0 reactions 1 assignee Claimed by @miscco View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.