From c5b083dd13f37a285d27f654abf8fa3709bac585 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 26 May 2023 12:51:59 +0200 Subject: [PATCH] Short live q20::iter_reference_t Another building block for QSpan. Task-number: QTBUG-108124 Change-Id: Ic7205ec693d953f6b054282380e87e79dead8816 Reviewed-by: Fabian Kosmale Reviewed-by: Thiago Macieira (cherry picked from commit e86e2752845ede635840851198c334f550fafb8f) --- src/corelib/global/q20iterator.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/corelib/global/q20iterator.h b/src/corelib/global/q20iterator.h index 23b6406b64c..9ed4d69965f 100644 --- a/src/corelib/global/q20iterator.h +++ b/src/corelib/global/q20iterator.h @@ -39,6 +39,16 @@ namespace q20 { #endif } // namespace q20 +// like q20::iter_reference_t +namespace q20 { +#ifdef __cpp_lib_ranges + using std::iter_reference_t; +#else + template // unconstrained (constraint requires concepts) + using iter_reference_t = decltype(*std::declval()); +#endif // __cpp_lib_ranges +} // namespace q20 + QT_END_NAMESPACE #endif /* Q20ITERATOR_H */