NVIDIA / NVIDIA/cccl

[feature] automatically find `iterator_system` from system of associated pointer type

Open
#764 0 comments 0 reactions 1 assignee Claimed by @griwes View on GitHub
thrust
Dominant language
C++
Stars
2.5k
Forks
486
Avg merge
2d 6h
Merged PRs (30d)
295

Description

I think it would be very useful if, for iterator-like classes, `thrust::iterator_system` resolves automatically (by default) to `thrust::iterator_system::pointer>`.

This way the execution policy of an algorithm would result in the same execution policy as the underlying memory.

Currently I have to do something like:

```
namespace thrust{
template
struct iterator_system>{
using type = typename thrust::iterator_system>::pointer>::type;
};
}
```

And I can't do better because, currently, the primary template of `thrust::iterator_system` is not SFINAE friendly (no `, void = Dummy>` to exploit).

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.