[libcxx-commits] [PATCH] D99854: [libcxx] adds `cpp17-.*iterator` concepts (as `__legacy_.*iterator`)

Christopher Di Bella via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sat Apr 3 22:34:02 PDT 2021


cjdb created this revision.
cjdb added reviewers: ldionne, EricWF, Mordante, zoecarver.
cjdb requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

The `iterator_traits` patch became too large for a concise review, so
the "bloat" —as it were— was moved into this patch. Also tests most
C++[98,17] iterator types to confirm backwards compatibility is
successful (regex iterators are intentionally not present, but directory
iterators are due to a peculiar error encountered while patching
`iterator_traits`).

The `cpp17.*-iterator` concepts have been dubbed `__legacy.*_iterator`
because the name is both clearer (C++98 iterators are still valid
`cpp17-iterators`, for example), and because it's the term that C++
Reference uses (which is what most users will look to when issued
diagnostics).

Depends on D99461 <https://reviews.llvm.org/D99461>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D99854

Files:
  libcxx/include/iterator
  libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_bidirectional_iterator.pass.cpp
  libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_forward_iterator.pass.cpp
  libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_input_iterator.pass.cpp
  libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_iterator.pass.cpp
  libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_random_access_iterator.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99854.335131.patch
Type: text/x-patch
Size: 45545 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210404/8b5451b4/attachment-0001.bin>


More information about the libcxx-commits mailing list