aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2025-03-20 18:48:20 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2025-03-21 09:32:21 +0000
commitced873be918186a98d69dcdd89bb0240973b0f1a (patch)
tree44cf5767d42f27dd1825af41db0744cf50893039
parentff7ac551ba2e1bf996586ae053d4d5f2cbf05c91 (diff)
downloadgcc-ced873be918186a98d69dcdd89bb0240973b0f1a.zip
gcc-ced873be918186a98d69dcdd89bb0240973b0f1a.tar.gz
gcc-ced873be918186a98d69dcdd89bb0240973b0f1a.tar.bz2
libstdc++: Add views::cache_latest and views::to_input to std module
Also export the tuple-like helpers from <complex>, and the std::from_range_t and std::from_range tag. libstdc++-v3/ChangeLog: * src/c++23/std.cc.in (tuple_element, tuple_element_t) (tuple_size, tuple_size_v, get): Export. (ranges::cache_latest_view, views::cache_latest): Export. (ranges::to_input_view, views::to_input): Export. (from_range_t, from_range): Export. Reviewed-by: Tomasz KamiƄski <tkaminsk@redhat.com>
-rw-r--r--libstdc++-v3/src/c++23/std.cc.in23
1 files changed, 20 insertions, 3 deletions
diff --git a/libstdc++-v3/src/c++23/std.cc.in b/libstdc++-v3/src/c++23/std.cc.in
index c0b7e1d..12253b9 100644
--- a/libstdc++-v3/src/c++23/std.cc.in
+++ b/libstdc++-v3/src/c++23/std.cc.in
@@ -924,6 +924,13 @@ export namespace std
using std::sqrt;
using std::tan;
using std::tanh;
+#if __cpp_lib_tuple_like >= 202311L
+ using std::tuple_element;
+ using std::tuple_element_t;
+ using std::tuple_size;
+ using std::tuple_size_v;
+ using std::get;
+#endif
}
export namespace std::inline literals::inline complex_literals
{
@@ -2383,14 +2390,24 @@ export namespace std
using ranges::enumerate_view;
namespace views { using views::enumerate; }
#endif
-#if __cpp_lib_ranges_to_container // C++ >= 23
- using ranges::to;
-#endif // __cpp_lib_ranges_to_container
#if __cpp_lib_ranges_concat // C++ >= C++26
using ranges::concat_view;
namespace views { using views::concat; }
#endif
+#if __cpp_lib_ranges_cache_latest // C++ >= C++26
+ using ranges::cache_latest_view;
+ namespace views { using views::cache_latest; }
+#endif
+#if __glibcxx_ranges_to_input // C++ >= 26
+ using ranges::to_input_view;
+ namespace views { using views::to_input; }
+#endif
}
+#if __glibcxx_ranges_to_container // C++ >= 23
+ namespace ranges { using ranges::to; }
+ using std::from_range_t;
+ using std::from_range;
+#endif
}
// <ratio>