| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[libc++][ranges] LWG3618: Unnecessary iter_move for transform_view::iterator (#91809) ## Introduction This patch implements LWG3618: Unnecessary iter_move for transform_view::iterator. transform_view's iterator currently specifies a customization point for iter_move. This customization point does the same thing that the default implementation would do, but its sole purpose is to ensure the appropriate conditional noexcept specification. ## Reference - [[range.transform.iterator]](https://eel.is/c++draft/range.transform.iterator) - [LWG3618](https://cplusplus.github.io/LWG/issue3618) | 1 年前 | |
[libcxx][NFC] Consolidate testing concept CanBePiped (#80154) Almost every test needed a CanBePiped concept and each implemented it separately, but identically. Consolidate all implementations into test_range.h. | 2 年前 | |
[libc++] Make <ranges> non-experimental When we ship LLVM 16, <ranges> won't be considered experimental anymore. We might as well do this sooner rather than later. Differential Revision: https://reviews.llvm.org/D132151 | 3 年前 | |
[libc++] Make <ranges> non-experimental When we ship LLVM 16, <ranges> won't be considered experimental anymore. We might as well do this sooner rather than later. Differential Revision: https://reviews.llvm.org/D132151 | 3 年前 | |
[libc++] Make <ranges> non-experimental When we ship LLVM 16, <ranges> won't be considered experimental anymore. We might as well do this sooner rather than later. Differential Revision: https://reviews.llvm.org/D132151 | 3 年前 | |
[libc++] Make <ranges> non-experimental When we ship LLVM 16, <ranges> won't be considered experimental anymore. We might as well do this sooner rather than later. Differential Revision: https://reviews.llvm.org/D132151 | 3 年前 | |
[libc++][ranges] P2711R1 Making multi-param constructors of views explicit Implemented [[ https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2711r1.html | P2711R1 ]] for existing views. ( join_with_view is not yet implemented) Reviewed By: #libc, philnik Differential Revision: https://reviews.llvm.org/D144822 | 3 年前 | |
[libc++] Make <ranges> non-experimental When we ship LLVM 16, <ranges> won't be considered experimental anymore. We might as well do this sooner rather than later. Differential Revision: https://reviews.llvm.org/D132151 | 3 年前 | |
[libc++][ranges][abi-break] Fix movable_box overwriting memory of data that lives in the tail padding (#71314) fixes #70506 The detailed problem description is in #70506 The original proposed fix was to remove [[no_unique_address]] except when _Tp is empty. Edit: After the discussion in the comments below, the new fix here is to remove the [[no_unique_address]] from movable_box in the cases where we need to add our own assignment operator, which has contains the problematic construct_at | 2 年前 | |
[libc++] Make <ranges> non-experimental When we ship LLVM 16, <ranges> won't be considered experimental anymore. We might as well do this sooner rather than later. Differential Revision: https://reviews.llvm.org/D132151 | 3 年前 | |
[libc++] Speed up set_intersection() by fast-forwarding over ranges of non-matching elements with one-sided binary search. (#75230) One-sided binary search, aka meta binary search, has been in the public domain for decades, and has the general advantage of being constant time in the best case, with the downside of executing at most 2*log(N) comparisons vs classic binary search's exact log(N). There are two scenarios in which it really shines: the first one is when operating over non-random-access iterators, because the classic algorithm requires knowing the container's size upfront, which adds N iterator increments to the complexity. The second one is when traversing the container in order, trying to fast-forward to the next value: in that case the classic algorithm requires at least O(N*log(N)) comparisons and, for non-random-access iterators, O(N^2) iterator increments, whereas the one-sided version will yield O(N) operations on both counts, with a best-case of O(log(N)) comparisons which is very common in practice. | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 1 年前 |