From 2939345eb102ffccaf16671a8e9e639862d6fe6c Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Thu, 23 May 2024 20:10:26 +0200 Subject: [PATCH] Added range_format::string formatter Either the basic_string_view range constructor or a user-defined conversion operator will be used. --- include/fmt/ranges.h | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/include/fmt/ranges.h b/include/fmt/ranges.h index 57ccb6a0ae3d8..91a351abdddbf 100644 --- a/include/fmt/ranges.h +++ b/include/fmt/ranges.h @@ -528,11 +528,27 @@ struct formatter< public: FMT_CONSTEXPR formatter() { - if (detail::const_check(range_format_kind::value != - range_format::set)) - return; - range_formatter_.set_brackets(detail::string_literal{}, - detail::string_literal{}); + switch (range_format_kind::value) { + case range_format::debug_string: { + range_formatter_.set_brackets(detail::string_literal{}, + detail::string_literal{}); + range_formatter_.set_separator({}); + break; + } + case range_format::set: { + range_formatter_.set_brackets(detail::string_literal{}, + detail::string_literal{}); + break; + } + case range_format::string: { + range_formatter_.set_brackets({}, {}); + range_formatter_.set_separator({}); + break; + } + default: { + break; + } + } } template