#if !defined(_LIBCPP_HAS_NO_RANGES)
-namespace views {
+namespace ranges::views {
namespace __all {
struct __fn {
template<ranges::viewable_range _Range>
using all_t = decltype(views::all(declval<_Range>()));
-} // namespace views
+} // namespace ranges::views
#endif // !defined(_LIBCPP_HAS_NO_RANGES)
#if !defined(_LIBCPP_HAS_NO_RANGES)
-namespace views {
+namespace ranges::views {
namespace __counted {
template<class _From, class _To>
inline constexpr auto counted = __counted::__fn{};
} // namespace __cpo
-} // namespace views
+} // namespace ranges::views
#endif // !defined(_LIBCPP_HAS_NO_RANGES)
template<class _Start, class _Bound>
inline constexpr bool enable_borrowed_range<iota_view<_Start, _Bound>> = true;
-} // namespace ranges
namespace views {
namespace __iota {
inline constexpr auto iota = __iota::__fn{};
}
} // namespace views
+} // namespace ranges
#endif // !defined(_LIBCPP_HAS_NO_RANGES)
#if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_RANGES)
+namespace views = ranges::views;
+
#endif // _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_RANGES)
_LIBCPP_END_NAMESPACE_STD
assert(std::ranges::end(subrange) == std::ranges::begin(subrange) + 8);
}
+ {
+ static_assert(std::same_as<decltype(std::views::all), decltype(std::ranges::views::all)>);
+ }
+
return true;
}
}
}
+ {
+ static_assert(std::same_as<decltype(std::views::counted), decltype(std::ranges::views::counted)>);
+ }
+
return true;
}
static_assert( std::is_invocable_v<decltype(std::views::iota), int, int>);
static_assert(!std::is_invocable_v<decltype(std::views::iota), int, X>);
}
+ {
+ static_assert(std::same_as<decltype(std::views::iota), decltype(std::ranges::views::iota)>);
+ }
return true;
}