[libcxx-commits] [PATCH] D142811: [libcxx][ranges] revert join_view::iterator and sentinel to be in-class

Hui via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Jan 29 06:26:21 PST 2023


huixie90 created this revision.
Herald added a project: All.
huixie90 updated this revision to Diff 493027.
huixie90 added a comment.
huixie90 updated this revision to Diff 493028.
huixie90 updated this revision to Diff 493032.
huixie90 updated this revision to Diff 493086.
huixie90 updated this revision to Diff 493089.
huixie90 updated this revision to Diff 493091.
huixie90 edited the summary of this revision.
huixie90 added reviewers: ldionne, philnik, var-const.
huixie90 published this revision for review.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

CI


huixie90 added a comment.

CI


huixie90 added a comment.

CI


huixie90 added a comment.

CI


huixie90 added a comment.

CI


huixie90 added a comment.

CI


[libc++][ranges] revert join_view::iterator and sentinel to be in-class

- Add a special member to `__iterator` as a way to check it is `__iterator`.
- In order to make sure the derived class does not opt in the segmented iterator traits, instead of simply checking the existence of the special member, we check the type `&T::special` is `void (T::*) ()`. (if it is from the derived class, the type `&Derived::special` is `void (Base::*)()`


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D142811

Files:
  libcxx/include/__ranges/join_view.h
  libcxx/test/libcxx/containers/sequences/deque/segmented_iterator.compile.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.join/segmented_iterator.compile.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142811.493091.patch
Type: text/x-patch
Size: 10934 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230129/ba9dfd3c/attachment-0001.bin>


More information about the libcxx-commits mailing list