[libc++][ranges] Implement `ranges::{prev, next}_permutation`.
authorNikolas Klauser <nikolasklauser@berlin.de>
Wed, 3 Aug 2022 05:40:13 +0000 (22:40 -0700)
committerKonstantin Varlamov <varconst@apple.com>
Wed, 3 Aug 2022 05:46:15 +0000 (22:46 -0700)
commit68264b649461206dc095e672eacf8a003e0b9e49
tree24f45699cba4663ddec3ddc67e3d822a6a1bd8ad
parent8a78b72289c5b1cb2ea2f0794d5bb9836b0895d8
[libc++][ranges] Implement `ranges::{prev, next}_permutation`.

Co-authored-by: Konstantin Varlamov <varconst@apple.com>
Differential Revision: https://reviews.llvm.org/D129859
18 files changed:
libcxx/docs/Status/RangesAlgorithms.csv
libcxx/include/CMakeLists.txt
libcxx/include/__algorithm/next_permutation.h
libcxx/include/__algorithm/prev_permutation.h
libcxx/include/__algorithm/ranges_next_permutation.h [new file with mode: 0644]
libcxx/include/__algorithm/ranges_prev_permutation.h [new file with mode: 0644]
libcxx/include/__algorithm/reverse.h
libcxx/include/algorithm
libcxx/include/module.modulemap.in
libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
libcxx/test/libcxx/private_headers.verify.cpp
libcxx/test/std/algorithms/alg.sorting/alg.permutation.generators/ranges.next_permutation.pass.cpp [new file with mode: 0644]
libcxx/test/std/algorithms/alg.sorting/alg.permutation.generators/ranges.prev_permutation.pass.cpp [new file with mode: 0644]
libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
libcxx/test/std/algorithms/ranges_robust_against_nonbool_predicates.pass.cpp
libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
libcxx/test/support/almost_satisfies_types.h