llvm-project/libcxx/include/__memory
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
..
addressof.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
allocation_guard.h [libc++] Replace includes of <utility> with specific detail headers 2022-02-04 17:08:32 -05:00
allocator.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
allocator_arg_t.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
allocator_traits.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
auto_ptr.h [libc++] Remove the ability to use the std::nullptr_t emulation in C++03 mode 2022-02-07 17:51:05 -05:00
compressed_pair.h [libc++][NFC] Reformat and modernize compressed_pair.h 2022-02-10 13:41:14 +01:00
concepts.h [libc++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES. 2022-02-15 10:38:21 -05:00
construct_at.h [libc++] Replace includes of <utility> with specific detail headers 2022-02-04 17:08:32 -05:00
pointer_traits.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
ranges_construct_at.h [libc++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES. 2022-02-15 10:38:21 -05:00
ranges_uninitialized_algorithms.h [libc++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES. 2022-02-15 10:38:21 -05:00
raw_storage_iterator.h [libc++] Replace includes of <utility> with specific detail headers 2022-02-04 17:08:32 -05:00
shared_ptr.h [libc++] Remove __functional_base 2022-02-11 19:16:01 +01:00
temporary_buffer.h [libc++] Replace includes of <utility> with specific detail headers 2022-02-04 17:08:32 -05:00
uninitialized_algorithms.h [libc++] Replace includes of <utility> with specific detail headers 2022-02-04 17:08:32 -05:00
unique_ptr.h [libc++] Remove __functional_base 2022-02-11 19:16:01 +01:00
uses_allocator.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
voidify.h [libc++][ranges] Implement `uninitialized_value_construct{,_n}` and `uninitialized_fill{,_n}`. 2021-12-20 00:24:27 -08:00