[libc++][ranges] implement std::ranges::set_symmetric_difference
Details
- Reviewers
philnik var-const ldionne jdoerfert - Group Reviewers
Restricted Project - Commits
- rGa5c0638dec83: [libc++][ranges] implement `std::ranges::set_symmetric_difference`
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| libcxx/include/__algorithm/ranges_set_symmetric_difference.h | ||
|---|---|---|
| 48 | Use ranges::less explicitly? | |
| libcxx/include/__algorithm/set_symmetric_difference.h | ||
| 15 | Nit: seems unused? | |
| 38 | Nit: this space looks weird -- is this done by clang-format? | |
| 75 | Move? | |
| 93 | Move? | |
| libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ranges_set_symmetric_difference.pass.cpp | ||
| 82 | Optional: do you think a short alias like template <class T> using R = UncheckedRange<T> would make these checks a little more readable? | |
| 387 | Now that https://reviews.llvm.org/D129414 is merged, these tests (for member pointers) are no longer necessary. | |
| 445 | Ditto -- these tests are no longer necessary. | |
| 480 | Optional: testing both overloads adds a lot of boilerplate. Consider: | |
| 543 | Ditto -- these tests are no longer necessary. | |
| libcxx/include/__algorithm/set_symmetric_difference.h | ||
|---|---|---|
| 38 | clang-format keeps the spacing as-is because of SpacesInAngles: Leave. I think it could be improved to remove whitespaces anwhere where there aren't two consecutive brackets, but you can just remove the whitespace and clang-format will be happy. This is so clang-format doesn't break C++03 code. | |
| libcxx/include/__algorithm/set_symmetric_difference.h | ||
|---|---|---|
| 27–29 | should these names be double underscored? if so, what is the naming convention? afaik, __out is a nasty macro and __out_iter clashes with the constructor argument name. | |
| libcxx/include/__algorithm/set_symmetric_difference.h | ||
|---|---|---|
| 27–29 | They should be called __in1_, __in2_ and __out_. | |
Use ranges::less explicitly?