mirror of
https://github.com/fmtlib/fmt.git
synced 2024-12-26 09:28:21 +00:00
Make std::byte formattabe (#1981)
This commit is contained in:
parent
683a74501f
commit
4a6eadbde0
@ -3538,7 +3538,7 @@ struct formatter<T, Char,
|
||||
struct formatter<Type, Char> : formatter<Base, Char> { \
|
||||
template <typename FormatContext> \
|
||||
auto format(Type const& val, FormatContext& ctx) -> decltype(ctx.out()) { \
|
||||
return formatter<Base, Char>::format(val, ctx); \
|
||||
return formatter<Base, Char>::format(static_cast<Base>(val), ctx); \
|
||||
} \
|
||||
}
|
||||
|
||||
@ -3552,6 +3552,9 @@ FMT_FORMAT_AS(Char*, const Char*);
|
||||
FMT_FORMAT_AS(std::basic_string<Char>, basic_string_view<Char>);
|
||||
FMT_FORMAT_AS(std::nullptr_t, const void*);
|
||||
FMT_FORMAT_AS(detail::std_string_view<Char>, basic_string_view<Char>);
|
||||
#if __cplusplus >= 201703L
|
||||
FMT_FORMAT_AS(std::byte, unsigned);
|
||||
#endif
|
||||
|
||||
template <typename Char>
|
||||
struct formatter<void*, Char> : formatter<const void*, Char> {
|
||||
|
@ -1762,6 +1762,13 @@ TEST(FormatTest, JoinArg) {
|
||||
#endif
|
||||
}
|
||||
|
||||
#if __cplusplus >= 201703L
|
||||
TEST(FormatTest, JoinBytes) {
|
||||
std::vector<std::byte> v = {std::byte(1), std::byte(2), std::byte(3)};
|
||||
EXPECT_EQ("1, 2, 3", fmt::format("{}", fmt::join(v, ", ")));
|
||||
}
|
||||
#endif
|
||||
|
||||
template <typename T> std::string str(const T& value) {
|
||||
return fmt::format("{}", value);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user