[all-commits] [llvm/llvm-project] 6a6646: [libc++] P2770R0: Stashing stashing iterators for ...

Jakub Mazurkiewicz via All-commits all-commits at lists.llvm.org
Tue Dec 12 06:45:27 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6a664674990094c1b5d2e717256f08cb04485899
      https://github.com/llvm/llvm-project/commit/6a664674990094c1b5d2e717256f08cb04485899
  Author: Jakub Mazurkiewicz <mazkuba3 at gmail.com>
  Date:   2023-12-12 (Tue, 12 Dec 2023)

  Changed paths:
    M libcxx/docs/Status/Cxx23.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__ranges/join_view.h
    A libcxx/include/__utility/as_lvalue.h
    M libcxx/include/module.modulemap.in
    M libcxx/include/regex
    M libcxx/include/utility
    M libcxx/modules/std/ranges.inc
    A libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.lifetimebound.verify.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.pass.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/tuple-for-each.pass.cpp
    R libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.tuple/tuple-for-each.pass.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.join/range.join.iterator/ctor.parent.outer.pass.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.join/range.join.iterator/ctor.parent.pass.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.join/range.join.iterator/types.h
    M libcxx/test/libcxx/ranges/range.adaptors/range.join/segmented_iterator.compile.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.segmented.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.segmented.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.segmented.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.segmented.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.segmented.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
    M libcxx/test/std/ranges/iterator_robust_against_adl.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/adaptor.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/base.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/begin.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/ctad.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/ctad.verify.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/ctor.default.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/ctor.view.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/end.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/general.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/arrow.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/ctor.default.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/ctor.other.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/ctor.parent.outer.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/decrement.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/eq.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/increment.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/iter.move.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/iter.swap.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/member_types.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/iterator/star.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/sentinel/ctor.default.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/sentinel/ctor.other.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/sentinel/ctor.parent.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/sentinel/eq.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join.view/types.h
    A libcxx/test/std/ranges/range.adaptors/range.join/adaptor.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/base.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/begin.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/ctad.compile.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/ctad.verify.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/ctor.default.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/ctor.view.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/end.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/general.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/lwg3698.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/arrow.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/ctor.default.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/ctor.other.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/decrement.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/eq.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/increment.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/iter.move.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/iter.swap.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/member_types.compile.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/star.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.default.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.parent.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/types.h
    M libcxx/test/std/re/re.iter/re.regiter/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/re/re.iter/re.regiter/types.pass.cpp
    M libcxx/test/std/re/re.iter/re.tokiter/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/re/re.iter/re.tokiter/types.pass.cpp

  Log Message:
  -----------
  [libc++] P2770R0: Stashing stashing iterators for proper flattening (#66033)

- Partially implements P2770R0 (http://wg21.link/p2770)
- Fixes https://wg21.link/LWG3698, https://wg21.link/LWG3700, and https://wg21.link/LWG3791
- join_with_view hasn't been done yet since this type isn't implemented yet
- Rename tuple test directory to match the standard (which changed in P2770R0)
- Rename join_view test directory to match the standard




More information about the All-commits mailing list