[libcxx-commits] [PATCH] D92255: [libc++] [P0202] constexpr set_union, set_difference, set_symmetric_difference, merge
Arthur O'Dwyer via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Nov 27 19:17:20 PST 2020
Quuxplusone created this revision.
Quuxplusone added reviewers: ldionne, zoecarver.
Quuxplusone added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.
Quuxplusone requested review of this revision.
These had been waiting on the ability to use `std::copy` from constexpr code (which in turn had been waiting on the ability to use `is_constant_evaluated()` to switch between `memmove` and non-`memmove` implementations of `std::copy`). That work landed a while ago, so these algorithms can all be constexpr in C++20 now.
While I'm in the area, update the tests so that the ones passing a custom predicate pass something other than the default `std::less`; and we don't need to hide the `constexpr` keyword behind `TEST_CONSTEXPR` in code that's already gated on C++20.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D92255
Files:
libcxx/include/algorithm
libcxx/test/std/algorithms/alg.sorting/alg.merge/merge.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.merge/merge_comp.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.set.operations/includes/includes.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.set.operations/includes/includes_comp.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference_comp.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_comp.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference_comp.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/set_union.pass.cpp
libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/set_union_comp.pass.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92255.308132.patch
Type: text/x-patch
Size: 30752 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20201128/e83ff99e/attachment-0001.bin>
More information about the libcxx-commits
mailing list