-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Implement ranges::common_view #1305
Conversation
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.
Looks like a good start. (I find it terribly ironic that you added no tests yet the tests are not passing ;))
That is my secret superpower. I can break code just by looking at it. Reminds me when I had to rework the C-code generator of the compiler I was working on. Bugs that cancel each other out, depend on the language settings of the machine.... |
While merging branches you've cloned your changes and everything is defined twice. |
I will simply go back and rebase unto master after i fixed your comment |
Partially addresses microsoft#39
Rebased and removed the duplicated code |
Co-authored-by: Adam Bucior <[email protected]>
Co-authored-by: Adam Bucior <[email protected]>
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.
What's here looks fine - just missing test coverage. (On the bright side, common_view
doesn't have custom iterator or sentinel types to test.)
Yeah, I started, but my kids decided that sleep is totally not worth it so I am moving at a crawl right now |
This is hell, I need to seriously consider to what extend we can use |
} | ||
|
||
// Validate view_interface::data | ||
static_assert(!CanData<R>); |
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 find this super troubling. If the user passes a continuous_range
into common_view
he will be in for a surprise
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.
This is a backwards-compatibility tool to adapt non-common_range
s into an iterator pair that can be passed to C++17 algorithms. It doesn't need to have great support for contiguous_range
s that don't exist in C++17.
d0a3ed7
to
865fa91
Compare
Could I get an "thumbs up" / "looks ok" / "burn it with fire" regarding the I am currently inclined to simply revert it, So I did not yet spend time debugging build failure |
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.
Looks good! I will fix one typo.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Thanks for your contribution! |
Partially addresses #39
Currently a WIP as testing views is just wonderfully hard