Backport more ranges support for OS X clang

Apple clang is currently version 14, but Apple's libc++ is version 13,
and so lacks even more std::ranges support than previously reported.
Add more stub backports to work around this.
This commit is contained in:
Kp 2022-11-06 18:18:57 +00:00
parent 16c86edabc
commit 962a37e75e
2 changed files with 11 additions and 2 deletions

View File

@ -2692,11 +2692,11 @@ template <>
constexpr bool std::ranges::enable_borrowed_range<test_borrowed_range> = true;
template <typename R>
requires(std::ranges::range<R>)
requires(ranges::range<R>)
static void requires_range(R &) {}
template <typename R>
requires(std::ranges::borrowed_range<R>)
requires(ranges::borrowed_range<R>)
static void requires_borrowed_range(R &&) {}
'''
main = '''

View File

@ -36,6 +36,11 @@
namespace ranges {
#ifdef __clang__
template <typename R>
concept range = true;
template <typename R>
concept borrowed_range = true;
template <typename iterator, typename sentinel = iterator>
class subrange
@ -109,9 +114,13 @@ auto find_if(auto &r, auto predicate)
}
#else
using std::ranges::range;
using std::ranges::borrowed_range;
using std::ranges::subrange;
using std::ranges::find;
using std::ranges::find_if;
#endif
}