[all-commits] [llvm/llvm-project] 9f01ac: [libcxx] makes `iterator_traits` C++20-aware

Zoe Carver via All-commits all-commits at lists.llvm.org
Tue Apr 20 08:30:45 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9f01ac3b3257ab925a2b1229dba19e3eb86a706b
      https://github.com/llvm/llvm-project/commit/9f01ac3b3257ab925a2b1229dba19e3eb86a706b
  Author: zoecarver <z.zoelec2 at gmail.com>
  Date:   2021-04-20 (Tue, 20 Apr 2021)

  Changed paths:
    M libcxx/include/iterator
    R libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/iterator_traits_cpp17_iterators.h
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/const_pointer.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/const_volatile_pointer.pass.cpp
    A libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.fail.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/volatile_pointer.pass.cpp
    A libcxx/test/support/iterator_traits_cpp17_iterators.h

  Log Message:
  -----------
  [libcxx] makes `iterator_traits` C++20-aware

* 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.

Differential Revision: https://reviews.llvm.org/D99855




More information about the All-commits mailing list