From 99b4b4ee0121ec2f47601817c98a04943f000794 Mon Sep 17 00:00:00 2001 From: Barry Revzin Date: Sun, 2 Jan 2022 23:36:11 -0600 Subject: [PATCH] Clarifying uncvref_type --- include/fmt/ranges.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/include/fmt/ranges.h b/include/fmt/ranges.h index b166bb2b..101bb399 100644 --- a/include/fmt/ranges.h +++ b/include/fmt/ranges.h @@ -222,8 +222,13 @@ template void for_each(Tuple&& tup, F&& f) { } template -using uncvref_type = - remove_cvref_t()))>; +using range_reference_type = + decltype(*detail::range_begin(std::declval())); + +// We don't use the Range's value_type for anything, but we do need the Range's +// reference type, with cv-ref stripped +template +using uncvref_type = remove_cvref_t>; template OutputIt write_delimiter(OutputIt out) { *out++ = ',';