Move has_formatter into the public fmt namespace. (#1407)

* Move has_formatter into the public fmt namespace.

This will allow users to do SFINAE-friendly checks for
the formattability of a type.

Fixes #1369
This commit is contained in:
David P. Sicilia
2019-11-14 07:08:24 -08:00
committed by Victor Zverovich
parent 52ae134f84
commit 2145a7bdcc
3 changed files with 8 additions and 8 deletions
+4 -4
View File
@@ -453,11 +453,11 @@ template <> struct formatter<enabled_formatter> {
FMT_END_NAMESPACE
TEST(CoreTest, HasFormatter) {
using fmt::internal::has_formatter;
using fmt::has_formatter;
using context = fmt::format_context;
EXPECT_TRUE((has_formatter<enabled_formatter, context>::value));
EXPECT_FALSE((has_formatter<disabled_formatter, context>::value));
EXPECT_FALSE((has_formatter<disabled_formatter_convertible, context>::value));
static_assert(has_formatter<enabled_formatter, context>::value, "");
static_assert(!has_formatter<disabled_formatter, context>::value, "");
static_assert(!has_formatter<disabled_formatter_convertible, context>::value, "");
}
struct convertible_to_int {
+2 -2
View File
@@ -1974,8 +1974,8 @@ enum TestEnum { A };
TEST(FormatTest, Enum) { EXPECT_EQ("0", fmt::format("{}", A)); }
TEST(FormatTest, FormatterNotSpecialized) {
EXPECT_FALSE((fmt::internal::has_formatter<fmt::formatter<TestEnum>,
fmt::format_context>::value));
static_assert(!fmt::has_formatter<fmt::formatter<TestEnum>,
fmt::format_context>::value, "");
}
#if FMT_HAS_FEATURE(cxx_strong_enums)