llvm-project/libcxx/test/std/iterators/iterator.primitives/range.iter.ops
Arthur O'Dwyer 53406fb691 [libc++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES.
The logic here is that we are disabling *only* things in `std::ranges::`.
Everything in `std::` is permitted, including `default_sentinel`, `contiguous_iterator`,
`common_iterator`, `projected`, `swappable`, and so on. Then, we include
anything from `std::ranges::` that is required in order to make those things
work: `ranges::swap`, `ranges::swap_ranges`, `input_range`, `ranges::begin`,
`ranges::iter_move`, and so on. But then that's all. Everything else (including
notably all of the "views" and the `std::views` namespace itself) is still
locked up behind `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`.

Differential Revision: https://reviews.llvm.org/D118736
2022-02-15 10:38:21 -05:00
..
range.iter.ops.advance [libc++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES. 2022-02-15 10:38:21 -05:00
range.iter.ops.distance [libc++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES. 2022-02-15 10:38:21 -05:00
range.iter.ops.next [libc++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES. 2022-02-15 10:38:21 -05:00
range.iter.ops.prev [libc++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES. 2022-02-15 10:38:21 -05:00
types.h [libc++] Refactor the tests for ranges::{advance,next,prev} 2022-01-13 13:57:55 -05:00