Remove MSVC 2015 workaround

This commit is contained in:
Victor Zverovich 2024-11-15 07:55:59 -08:00
parent 9ced61bca4
commit bfd95392c7
2 changed files with 4 additions and 12 deletions

View File

@ -122,8 +122,8 @@ hide:
</p> </p>
<p> <p>
The library is highly portable and requires only a minimal <b>subset of The library is highly portable and requires only a minimal <b>subset of
C++11</b> features which are available in GCC 4.9, Clang 3.4, MSVC 19.0 C++11</b> features which are available in GCC 4.9, Clang 3.4, MSVC 19.10
(2015) and later. Newer compiler and standard library features are used (2017) and later. Newer compiler and standard library features are used
if available, and enable additional functionality. if available, and enable additional functionality.
</p> </p>
<p> <p>

View File

@ -357,12 +357,9 @@ template <typename R>
using maybe_const_range = using maybe_const_range =
conditional_t<has_const_begin_end<R>::value, const R, R>; conditional_t<has_const_begin_end<R>::value, const R, R>;
// Workaround a bug in MSVC 2015 and earlier.
#if !FMT_MSC_VERSION || FMT_MSC_VERSION >= 1910
template <typename R, typename Char> template <typename R, typename Char>
struct is_formattable_delayed struct is_formattable_delayed
: is_formattable<uncvref_type<maybe_const_range<R>>, Char> {}; : is_formattable<uncvref_type<maybe_const_range<R>>, Char> {};
#endif
} // namespace detail } // namespace detail
template <typename...> struct conjunction : std::true_type {}; template <typename...> struct conjunction : std::true_type {};
@ -498,13 +495,8 @@ struct formatter<
range_format_kind<R, Char>::value != range_format::disabled && range_format_kind<R, Char>::value != range_format::disabled &&
range_format_kind<R, Char>::value != range_format::map && range_format_kind<R, Char>::value != range_format::map &&
range_format_kind<R, Char>::value != range_format::string && range_format_kind<R, Char>::value != range_format::string &&
range_format_kind<R, Char>::value != range_format::debug_string> range_format_kind<R, Char>::value != range_format::debug_string>,
// Workaround a bug in MSVC 2015 and earlier. detail::is_formattable_delayed<R, Char>>::value>> {
#if !FMT_MSC_VERSION || FMT_MSC_VERSION >= 1910
,
detail::is_formattable_delayed<R, Char>
#endif
>::value>> {
private: private:
using range_type = detail::maybe_const_range<R>; using range_type = detail::maybe_const_range<R>;
range_formatter<detail::uncvref_type<range_type>, Char> range_formatter_; range_formatter<detail::uncvref_type<range_type>, Char> range_formatter_;