Replace ArgVisitor::visit with a free visit function

This commit is contained in:
Victor Zverovich
2016-11-19 07:59:54 -08:00
parent caa60b9c99
commit c9dc41ab3f
5 changed files with 28 additions and 33 deletions
+1 -1
View File
@@ -46,7 +46,7 @@ TEST(FormatTest, ArgConverter) {
Arg arg = Arg();
arg.type = Arg::LONG_LONG;
arg.long_long_value = std::numeric_limits<fmt::LongLong>::max();
fmt::internal::ArgConverter<fmt::LongLong>(arg, 'd').visit(arg);
visit(fmt::internal::ArgConverter<fmt::LongLong>(arg, 'd'), arg);
EXPECT_EQ(Arg::LONG_LONG, arg.type);
}
+1 -1
View File
@@ -69,7 +69,7 @@ TEST(OStreamTest, CustomArg) {
fmt::format_context ctx("}", fmt::format_args());
fmt::FormatSpec spec;
TestArgFormatter af(writer, ctx, spec);
af.visit(fmt::internal::MakeArg<fmt::format_context>(TestEnum()));
visit(af, fmt::internal::MakeArg<fmt::format_context>(TestEnum()));
EXPECT_EQ("TestEnum", writer.str());
}
+5 -5
View File
@@ -628,7 +628,7 @@ struct TestVisitor : fmt::ArgVisitor<TestVisitor, Result> {
#define EXPECT_RESULT_(Char, type_code, value) { \
Arg arg = make_arg<Char>(value); \
Result result = TestVisitor().visit(arg); \
Result result = fmt::visit(TestVisitor(), arg); \
EXPECT_EQ(Arg::type_code, result.arg.type); \
EXPECT_EQ(value, ArgInfo<Arg::type_code>::get(result.arg)); \
}
@@ -653,7 +653,7 @@ TEST(ArgVisitorTest, VisitAll) {
const void *p = STR;
EXPECT_RESULT(POINTER, p);
::Test t;
Result result = TestVisitor().visit(make_arg<char>(t));
Result result = visit(TestVisitor(), make_arg<char>(t));
EXPECT_EQ(Arg::CUSTOM, result.arg.type);
EXPECT_EQ(&t, result.arg.custom.value);
}
@@ -668,7 +668,7 @@ struct TestAnyVisitor : fmt::ArgVisitor<TestAnyVisitor, Result> {
#undef EXPECT_RESULT
#define EXPECT_RESULT(type_code, value) { \
Result result = TestAnyVisitor().visit(make_arg<char>(value)); \
Result result = visit(TestAnyVisitor(), make_arg<char>(value)); \
EXPECT_EQ(Arg::type_code, result.arg.type); \
EXPECT_EQ(value, ArgInfo<Arg::type_code>::get(result.arg)); \
}
@@ -688,7 +688,7 @@ struct TestUnhandledVisitor :
};
#define EXPECT_UNHANDLED(value) \
EXPECT_STREQ("test", TestUnhandledVisitor().visit(make_arg<wchar_t>(value)));
EXPECT_STREQ("test", visit(TestUnhandledVisitor(), make_arg<wchar_t>(value)));
TEST(ArgVisitorTest, VisitUnhandledArg) {
EXPECT_UNHANDLED(42);
@@ -710,7 +710,7 @@ TEST(ArgVisitorTest, VisitUnhandledArg) {
TEST(ArgVisitorTest, VisitInvalidArg) {
Arg arg = Arg();
arg.type = static_cast<Arg::Type>(Arg::NONE);
EXPECT_ASSERT(TestVisitor().visit(arg), "invalid argument type");
EXPECT_ASSERT(visit(TestVisitor(), arg), "invalid argument type");
}
// Tests fmt::internal::count_digits for integer type Int.