-
Notifications
You must be signed in to change notification settings - Fork 9
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
P3168R1: use a non-pointer iterator type #18
P3168R1: use a non-pointer iterator type #18
Conversation
21301d6
to
09a1750
Compare
df767d5
to
a85987a
Compare
a85987a
to
416ec70
Compare
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:
***@***.***>
|
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
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 added a small note, but it's entirely style. The rest looks good!
44d0fb9
to
e284858
Compare
Merged the PR to be able to deploy into Compiler Explorer (#21 ). Follow-up tweaks will be done in other PRs. |
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).