[all-commits] [llvm/llvm-project] 390343: [libcxx] adds ranges::fold_left_with_iter and rang...
Christopher Di Bella via All-commits
all-commits at lists.llvm.org
Tue Dec 19 21:58:04 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3903438860b6eebf53a912c672560e1e55311220
https://github.com/llvm/llvm-project/commit/3903438860b6eebf53a912c672560e1e55311220
Author: Christopher Di Bella <cjdb at google.com>
Date: 2023-12-19 (Tue, 19 Dec 2023)
Changed paths:
M libcxx/docs/Status/RangesAlgorithms.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__algorithm/fold.h
M libcxx/include/algorithm
M libcxx/include/module.modulemap.in
M libcxx/modules/std/algorithm.inc
M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
A libcxx/test/std/algorithms/algorithms.results/in_value_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/no_unique_address.compile.pass.cpp
M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.input/input_iterator.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.ref.view/borrowing.compile.pass.cpp
A libcxx/test/support/invocable_with_telemetry.h
A libcxx/test/support/maths.h
M libcxx/test/support/test_range.h
Log Message:
-----------
[libcxx] adds ranges::fold_left_with_iter and ranges::fold_left (#75259)
Notable things in this commit:
* refactors `__indirect_binary_left_foldable`, making it slightly
different (but equivalent) to _`indirect-binary-left-foldable`_, which
improves readability (a [patch to the Working Paper][patch] was made)
* omits `__cpo` namespace, since it is not required for implementing
niebloids (a cleanup should happen in 2024)
* puts tests ensuring invocable robustness and dangling correctness
inside the correctness testing to ensure that the algorithms' results
are still correct
[patch]: https://github.com/cplusplus/draft/pull/6734
More information about the All-commits
mailing list