From f57227a148f19723fe3c7b601c25f1d9f48ee079 Mon Sep 17 00:00:00 2001
From: Victor Zverovich <victor.zverovich@gmail.com>
Date: Fri, 31 May 2019 20:09:19 -0700
Subject: [PATCH] FMT_ENABLE_IF -> enable_if_t

---
 include/fmt/core.h       | 10 +++++-----
 include/fmt/format-inl.h |  4 ++--
 include/fmt/format.h     |  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/include/fmt/core.h b/include/fmt/core.h
index 8df1f8aa651e..a733e4ef01ab 100644
--- a/include/fmt/core.h
+++ b/include/fmt/core.h
@@ -187,11 +187,6 @@
 #  define FMT_ASSERT(condition, message) assert((condition) && message)
 #endif
 
-// An enable_if helper to be used in template parameters. enable_if in template
-// parameters results in much shorter symbols: https://godbolt.org/z/sWw4vP.
-#define FMT_ENABLE_IF_T(...) typename std::enable_if<(__VA_ARGS__), int>::type
-#define FMT_ENABLE_IF(...) FMT_ENABLE_IF_T(__VA_ARGS__) = 0
-
 // libc++ supports string_view in pre-c++17.
 #if (FMT_HAS_INCLUDE(<string_view>) &&                       \
      (__cplusplus > 201402L || defined(_LIBCPP_VERSION))) || \
@@ -215,6 +210,11 @@ using std_string_view = std::experimental::basic_string_view<Char>;
 template <typename T> struct std_string_view {};
 #endif
 
+// An enable_if helper to be used in template parameters. enable_if in template
+// parameters results in much shorter symbols: https://godbolt.org/z/sWw4vP.
+template <bool B> using enable_if_t = typename std::enable_if<B, int>::type;
+#define FMT_ENABLE_IF(...) internal::enable_if_t<__VA_ARGS__> = 0
+
 #if (__cplusplus >= 201703L ||                          \
      (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L)) && \
     __cpp_lib_is_invocable >= 201703L
diff --git a/include/fmt/format-inl.h b/include/fmt/format-inl.h
index 6c6f5223a8d6..8f9d58f7b40e 100644
--- a/include/fmt/format-inl.h
+++ b/include/fmt/format-inl.h
@@ -223,7 +223,7 @@ template <typename Locale> Locale locale_ref::get() const {
 }
 
 template <typename Char> FMT_FUNC Char thousands_sep_impl(locale_ref loc) {
-  return std::use_facet<std::numpunct<Char> >(loc.get<std::locale>())
+  return std::use_facet<std::numpunct<Char>>(loc.get<std::locale>())
       .thousands_sep();
 }
 }  // namespace internal
@@ -683,7 +683,7 @@ template <int GRISU_VERSION> struct grisu_shortest_handler {
   }
 };
 
-template <typename Double, FMT_ENABLE_IF_T(sizeof(Double) == sizeof(uint64_t))>
+template <typename Double, enable_if_t<sizeof(Double) == sizeof(uint64_t)>>
 FMT_API bool grisu_format(Double value, buffer<char>& buf, int precision,
                           unsigned options, int& exp) {
   FMT_ASSERT(value >= 0, "value is negative");
diff --git a/include/fmt/format.h b/include/fmt/format.h
index 5fb25eb3c196..72be49bc2072 100644
--- a/include/fmt/format.h
+++ b/include/fmt/format.h
@@ -2238,7 +2238,7 @@ FMT_CONSTEXPR bool do_check_format_string(basic_string_view<Char> s,
 }
 
 template <typename... Args, typename S,
-          FMT_ENABLE_IF_T(is_compile_string<S>::value)>
+          internal::enable_if_t<is_compile_string<S>::value>>
 void check_format_string(S format_str) {
   typedef typename S::char_type char_t;
   FMT_CONSTEXPR_DECL bool invalid_format =