[libcxx-commits] [PATCH] D99855: [libcxx] makes `iterator_traits` C++20-aware

Christopher Di Bella via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sat Apr 3 22:41:22 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++.

- moves C++17 `iterator_traits`
- adds `iterator_traits` specialisation that supports all expected member aliases except for `pointer`
- adds `iterator_traits` specialisations for iterators that meet the legacy iterator requirements but might lack multiple member aliases
- makes pointer `iterator_traits` specialisation require objects

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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D99855

Files:
  libcxx/include/iterator
  libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.fail.cpp
  libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/iterator.traits/legacy_iterator_wrappers.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99855.335132.patch
Type: text/x-patch
Size: 25416 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210404/71a19d76/attachment-0001.bin>


More information about the libcxx-commits mailing list