https://gcc.gnu.org/g:fb1f1c763055abea556959b42a2f1d5e548c1452

commit r15-6370-gfb1f1c763055abea556959b42a2f1d5e548c1452
Author: Patrick Palka <ppa...@redhat.com>
Date:   Thu Dec 19 11:31:06 2024 -0500

    libstdc++: Define P1206R7 range-key-type and range-mapped-type aliases
    
    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 <jwak...@redhat.com>

Diff:
---
 libstdc++-v3/include/bits/ranges_base.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libstdc++-v3/include/bits/ranges_base.h 
b/libstdc++-v3/include/bits/ranges_base.h
index a2c743ff56bc..c8cd4e87b12c 100644
--- a/libstdc++-v3/include/bits/ranges_base.h
+++ b/libstdc++-v3/include/bits/ranges_base.h
@@ -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

Reply via email to