Add formatter<std::string_view>

This commit is contained in:
Victor Zverovich
2019-06-22 19:48:37 -07:00
parent 635e01fe74
commit 72e519a4bd
2 changed files with 14 additions and 2 deletions

View File

@@ -1590,9 +1590,20 @@ TEST(FormatterTest, FormatStringView) {
EXPECT_EQ("", format("{}", string_view()));
}
#ifdef FMT_USE_STD_STRING_VIEW
#ifdef FMT_USE_STRING_VIEW
struct string_viewable {};
FMT_BEGIN_NAMESPACE
template <> struct formatter<string_viewable> : formatter<std::string_view> {
auto format(string_viewable, format_context& ctx) -> decltype(ctx.out()) {
return formatter<std::string_view>::format("foo", ctx);
}
};
FMT_END_NAMESPACE
TEST(FormatterTest, FormatStdStringView) {
EXPECT_EQ("test", format("{0}", std::string_view("test")));
EXPECT_EQ("test", format("{}", std::string_view("test")));
EXPECT_EQ("foo", format("{}", string_viewable()));
}
#endif