HomePhabricator

[libcxx] makes `iterator_traits` C++20-aware

Authored by zoecarver on Apr 20 2021, 5:50 AM.

Description

[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

Details