-
Notifications
You must be signed in to change notification settings - Fork 175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
help the ranges concepts recognize standard contiguous iterators in c++14/17 #3202
help the ranges concepts recognize standard contiguous iterators in c++14/17 #3202
Conversation
d527d62
to
21907a4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really did not wanted to do that, but its most likely the easiest solution.
Can you please then fix our span
to always use the proper range constructor and not the pre-ranges hack?
🟩 CI finished in 2h 39m: Pass: 100%/170 | Total: 3d 18h | Avg: 31m 55s | Max: 1h 19m | Hits: 33%/22510
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
+/- | CUDA Experimental |
python | |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | python |
+/- | CCCL C Parallel Library |
+/- | Catch2Helper |
🏃 Runner counts (total jobs: 170)
# | Runner |
---|---|
125 | linux-amd64-cpu16 |
19 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
10 | linux-arm64-cpu16 |
1 | linux-amd64-gpu-h100-latest-1-testing |
i started down this rabbit hole, but the range stuff is only defined in C++17, and (for now) |
🟩 CI finished in 1h 59m: Pass: 100%/170 | Total: 1d 14h | Avg: 13m 34s | Max: 1h 18m | Hits: 34%/22530
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
+/- | CUDA Experimental |
python | |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | python |
+/- | CCCL C Parallel Library |
+/- | Catch2Helper |
🏃 Runner counts (total jobs: 170)
# | Runner |
---|---|
125 | linux-amd64-cpu16 |
19 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
10 | linux-arm64-cpu16 |
1 | linux-amd64-gpu-h100-latest-1-testing |
Description
In range-v3, @CaseyCarter and I found a sneaky way to "detect" the contiguous iterators of the 3 major stdlib implementations: libstdc++, libc++, and msvc's stdlib. This PR ports the implementation over so that the following standard containers are now recognized as contiguous:
std::vector
std::array
std::string
std::string_view
std::span
this PR also removes a hack in cudax that was only necessary because the std:: containers weren't considered contiguous in c++17.
Checklist