]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Define P1206R7 range-key-type and range-mapped-type aliases
authorPatrick Palka <ppalka@redhat.com>
Thu, 19 Dec 2024 16:31:06 +0000 (11:31 -0500)
committerPatrick Palka <ppalka@redhat.com>
Thu, 19 Dec 2024 16:31:06 +0000 (11:31 -0500)
libstdc++-v3/ChangeLog:

* include/bits/ranges_base.h (__detail::__range_key_type):
Define as per P1206R7.
(__detail::__range_mapped_type): Likewise.

Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/include/bits/ranges_base.h

index a2c743ff56bc4c7f7229822c41c84b85bee3e68c..c8cd4e87b12cf16c3dec7df3131fc35b8c434a4a 100644 (file)
@@ -1087,6 +1087,14 @@ namespace __detail
     concept __container_compatible_range
       = ranges::input_range<_Rg>
          && convertible_to<ranges::range_reference_t<_Rg>, _Tp>;
+
+  template<ranges::input_range _Range>
+    using __range_key_type
+      = remove_const_t<typename ranges::range_value_t<_Range>::first_type>;
+
+  template<ranges::input_range _Range>
+    using __range_mapped_type
+      = typename ranges::range_value_t<_Range>::second_type;
 }
 /// @endcond
 #endif