Skip to content
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

Use Niebler's suggestion for customization points for experimental::all() #305

Open
jaredhoberock opened this issue Nov 18, 2016 · 1 comment

Comments

@jaredhoberock
Copy link
Collaborator

nvcc may be having issues processing the way all() is called via ADL (see #304). The new-style customization point shouldn't have this issue.

@jaredhoberock
Copy link
Collaborator Author

jaredhoberock commented Jan 24, 2017

all() should also provide a default implementation for Ranges that are already Views (the default would simply be the identity function). That requires some way to recognize when a Range is a View and not some other thing (like a Container).

Perhaps the default implementation should be to return some sort of range_view<Iterator,Sentinel> type? The special cases could be reserved for things which are known to have optimizations -- for example, Ranges with contiguous iterators.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant