[libcxx][ranges] Move `namespace views` into `namespace ranges` and add an alias.

Differential Revision: https://reviews.llvm.org/D108047

NOKEYCHECK=True
GitOrigin-RevId: 9ed07781791054f9e129c892adf819b55d6e6c44
diff --git a/include/__ranges/all.h b/include/__ranges/all.h
index d678d3e..f44beaa 100644
--- a/include/__ranges/all.h
+++ b/include/__ranges/all.h
@@ -32,7 +32,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_RANGES)
 
-namespace views {
+namespace ranges::views {
 
 namespace __all {
   struct __fn {
@@ -75,7 +75,7 @@
 template<ranges::viewable_range _Range>
 using all_t = decltype(views::all(declval<_Range>()));
 
-} // namespace views
+} // namespace ranges::views
 
 #endif // !defined(_LIBCPP_HAS_NO_RANGES)
 
diff --git a/include/__ranges/counted.h b/include/__ranges/counted.h
index d891c1f..d724080 100644
--- a/include/__ranges/counted.h
+++ b/include/__ranges/counted.h
@@ -36,7 +36,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_RANGES)
 
-namespace views {
+namespace ranges::views {
 
 namespace __counted {
   template<class _From, class _To>
@@ -88,7 +88,7 @@
   inline constexpr auto counted = __counted::__fn{};
 } // namespace __cpo
 
-} // namespace views
+} // namespace ranges::views
 
 #endif // !defined(_LIBCPP_HAS_NO_RANGES)
 
diff --git a/include/__ranges/iota_view.h b/include/__ranges/iota_view.h
index f302826..047d846 100644
--- a/include/__ranges/iota_view.h
+++ b/include/__ranges/iota_view.h
@@ -366,7 +366,6 @@
 
   template<class _Start, class _Bound>
   inline constexpr bool enable_borrowed_range<iota_view<_Start, _Bound>> = true;
-} // namespace ranges
 
 namespace views {
 namespace __iota {
@@ -395,6 +394,7 @@
   inline constexpr auto iota = __iota::__fn{};
 }
 } // namespace views
+} // namespace ranges
 
 #endif // !defined(_LIBCPP_HAS_NO_RANGES)
 
diff --git a/include/ranges b/include/ranges
index 014260a..a4cbfaf 100644
--- a/include/ranges
+++ b/include/ranges
@@ -238,6 +238,8 @@
 
 #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
diff --git a/test/std/ranges/range.adaptors/range.all/all.pass.cpp b/test/std/ranges/range.adaptors/range.all/all.pass.cpp
index 2aeb94f..cef8734 100644
--- a/test/std/ranges/range.adaptors/range.all/all.pass.cpp
+++ b/test/std/ranges/range.adaptors/range.all/all.pass.cpp
@@ -142,6 +142,10 @@
     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;
 }
 
diff --git a/test/std/ranges/range.adaptors/range.counted/counted.pass.cpp b/test/std/ranges/range.adaptors/range.counted/counted.pass.cpp
index 62791bb..2ebd703 100644
--- a/test/std/ranges/range.adaptors/range.counted/counted.pass.cpp
+++ b/test/std/ranges/range.adaptors/range.counted/counted.pass.cpp
@@ -195,6 +195,10 @@
     }
   }
 
+  {
+    static_assert(std::same_as<decltype(std::views::counted), decltype(std::ranges::views::counted)>);
+  }
+
   return true;
 }
 
diff --git a/test/std/ranges/range.factories/range.iota.view/views_iota.pass.cpp b/test/std/ranges/range.factories/range.iota.view/views_iota.pass.cpp
index 6612855..6fcb4ab 100644
--- a/test/std/ranges/range.factories/range.iota.view/views_iota.pass.cpp
+++ b/test/std/ranges/range.factories/range.iota.view/views_iota.pass.cpp
@@ -71,6 +71,9 @@
     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;
 }