[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?