[libcxx][ranges] Add `ranges::common_view`.

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

NOKEYCHECK=True
GitOrigin-RevId: e5d8b93e5a25072ec27260e162f5a036a2c32dc2
diff --git a/include/ranges b/include/ranges
index 45825fd..ff78973 100644
--- a/include/ranges
+++ b/include/ranges
@@ -146,6 +146,13 @@
              can-reference<invoke_result_t<F&, range_reference_t<V>>>
   class transform_view;
 
+  // [range.common], common view
+  template<view V>
+    requires (!common_range<V> && copyable<iterator_t<V>>)
+  class common_view;
+
+  template<class T>
+  inline constexpr bool enable_borrowed_range<common_view<T>> = enable_borrowed_range<T>;
 }
 
 */
@@ -153,6 +160,7 @@
 #include <__config>
 #include <__ranges/access.h>
 #include <__ranges/all.h>
+#include <__ranges/common_view.h>
 #include <__ranges/concepts.h>
 #include <__ranges/dangling.h>
 #include <__ranges/data.h>