P3168R1: use a non-pointer iterator type#18
Merged
neatudarius merged 17 commits intobemanproject:mainfrom Jun 24, 2024
Merged
Conversation
camio
reviewed
Jun 20, 2024
camio
reviewed
Jun 20, 2024
JeffGarland
reviewed
Jun 20, 2024
21301d6 to
09a1750
Compare
df767d5 to
a85987a
Compare
a85987a to
416ec70
Compare
camio
reviewed
Jun 24, 2024
Member
|
I had a little time this weekend:
https://github.com/steve-downey/iterator-interface
It's an implementation from the wording and exposition from P2727R4 - Only
"creative" bit was writing the iterator tag calculation.
Did turn up some wording nits, so not totally useless.
…On Mon, Jun 24, 2024 at 10:24 AM David Sankel ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In include/Beman/Optional26/detail/stl_interfaces/iterator_interface.hpp
<#18 (comment)>
:
> @@ -0,0 +1,986 @@
+// include/Beman/Optional26/detail/stl_interfaces/iterator_interface.hpp -*-C++-*-
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Well, unless you could get @tzlaine <https://github.com/tzlaine> to give
you an "Apache-2.0 WITH LLVM-exception" license to his code. That would
make it simpler.
—
Reply to this email directly, view it on GitHub
<#18 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAVNZ5ULSRO7WEH5B5X6IMTZJATZPAVCNFSM6AAAAABJSJ3H3GVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDCMZVHE3TCMBYGQ>
.
You are receiving this because your review was requested.Message ID:
***@***.***>
|
Member
Author
Nice! Thanks Steve! I think we can start a chat with @tzlaine and see that's the plan for stl_interfaces inside Beman. Note: We'll continue using sources from boost/stl_interfaces in this PR. |
34a75c4 to
e441374
Compare
e441374 to
0af5aaa
Compare
tzlaine
reviewed
Jun 24, 2024
tzlaine
approved these changes
Jun 24, 2024
tzlaine
left a comment
There was a problem hiding this comment.
I added a small note, but it's entirely style. The rest looks good!
steve-downey
requested changes
Jun 24, 2024
44d0fb9 to
e284858
Compare
steve-downey
approved these changes
Jun 24, 2024
JeffGarland
approved these changes
Jun 24, 2024
camio
approved these changes
Jun 24, 2024
Member
Author
|
Merged the PR to be able to deploy into Compiler Explorer (#21 ). Follow-up tweaks will be done in other PRs. |
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
P3168R1: use a non-pointer iterator type . Follow-up PR after #9 for suggestion made by @brevzin (issue #14) .
Updates:
include/Beman/Optional26/detail/iterator.hpp: Adopt normal_iterator implementation from GCC and create a simplified version intobeman::optional::detail:normal_iterator.include/Beman/Optional26/optional.hpp: Replace implementation foroptional<T/T&>::iterator/const_iterator:T*/const*->detail::normal_iterator<T/const T*, optional>.Notes:This should be a very small PR (interesting diff inoptional.hpp, also possible initerator.hpp).A long-term implementation for the iterator type will be done in Use std::iterator_interface from P2727 for Beman.Optional26 #17. Now we just want something good enough to be able to make experiments for LWG@Saint Louis.L.E.
As discussed in this thread, I copied the stl_interfaces Boost implementation into our tree (Use std::iterator_interface from P2727 for Beman.Optional26 #17).