From da4820419e96d731a20166460ff444b7f02a8cc4 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 23 May 2023 15:44:20 +0200 Subject: [PATCH] Short live q20::type_identity Trivial implementation. No test necessary. Task-number: QTBUG-108124 Change-Id: I20ec14e49f4db6399502f953b569c889d30bb5a7 Reviewed-by: Fabian Kosmale Reviewed-by: Thiago Macieira (cherry picked from commit 62801532a33ab11d9bce42340c50619d49a7d0c8) Reviewed-by: Marc Mutz --- src/corelib/global/q20type_traits.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/corelib/global/q20type_traits.h b/src/corelib/global/q20type_traits.h index 2e812ed39c7..80ac1fa4313 100644 --- a/src/corelib/global/q20type_traits.h +++ b/src/corelib/global/q20type_traits.h @@ -38,6 +38,19 @@ using remove_cvref_t = std::remove_cv_t>; #endif // __cpp_lib_remove_cvref } +namespace q20 { +// like std::type_identity(_t) +#ifdef __cpp_lib_type_identity +using std::type_identity; +using std::type_identity_t; +#else +template +struct type_identity { using type = T; }; +template +using type_identity_t = typename type_identity::type; +#endif // __cpp_lib_type_identity +} + QT_END_NAMESPACE #endif /* Q20TYPE_TRAITS_H */