[libc++] Implements ranges::enable_borrowed_range
authorMark de Wever <koraq@xs4all.nl>
Tue, 24 Nov 2020 17:08:02 +0000 (18:08 +0100)
committerMark de Wever <koraq@xs4all.nl>
Sun, 18 Apr 2021 11:35:08 +0000 (13:35 +0200)
commit01ace074fcb6a497fc16b1578fc10480dc7d563d
tree258da8c060259e8d9634960ee6fc16165a67a40b
parentaa80ea8a617b3ca5da286ce399b5dd4e8f43a44a
[libc++] Implements ranges::enable_borrowed_range

This is the initial patch to implement ranges in libc++.

Implements parts of:
- P0896R4 One Ranges Proposal
- P1870 forwarding-range is too subtle
- LWG3379 in several library names is misleading

Reviewed By: ldionne, #libc, cjdb, zoecarver, Quuxplusone

Differential Revision: https://reviews.llvm.org/D90999
18 files changed:
libcxx/docs/Cxx2aStatusIssuesStatus.csv
libcxx/docs/Cxx2aStatusPaperStatus.csv
libcxx/include/CMakeLists.txt
libcxx/include/__ranges/enable_borrowed_range.h [new file with mode: 0644]
libcxx/include/module.modulemap
libcxx/include/ranges [new file with mode: 0644]
libcxx/include/span
libcxx/include/string_view
libcxx/test/libcxx/double_include.sh.cpp
libcxx/test/libcxx/inclusions/ranges.inclusions.compile.pass.cpp [new file with mode: 0644]
libcxx/test/libcxx/min_max_macros.compile.pass.cpp
libcxx/test/libcxx/no_assert_include.compile.pass.cpp
libcxx/test/libcxx/ranges/version.compile.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/views/enable_borrowed_range.compile.pass.cpp [new file with mode: 0644]
libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.pass.cpp [new file with mode: 0644]
libcxx/test/std/ranges/range.range/enable_borrowed_range.compile.pass.cpp [new file with mode: 0644]
libcxx/test/std/strings/string.view/enable_borrowed_range.compile.pass.cpp [new file with mode: 0644]
libcxx/utils/generate_header_inclusion_tests.py