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:
parent
16c86edabc
commit
962a37e75e
|
@ -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 = '''
|
||||
|
|
|
@ -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
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue