Implement atomic_flag formatter

Copy-pasta from @wangzw PR
This commit is contained in:
Alex Guteniev 2023-08-14 19:18:29 +03:00 committed by GitHub
parent 5a866fe852
commit 08663e439f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -448,5 +448,19 @@ struct formatter<std::atomic<T>, Char,
} }
}; };
#if defined(__cpp_lib_atomic_flag_test) && __cpp_lib_atomic_flag_test >= 201907L
FMT_EXPORT
template <typename Char>
struct formatter<std::atomic_flag, Char,
enable_if_t<is_formattable<bool, Char>::value>>
: formatter<bool, Char> {
template <typename FormatContext>
auto format(const std::atomic_flag& v, FormatContext& ctx) const
-> decltype(ctx.out()) {
return formatter<bool, Char>::format(v.test(), ctx);
}
};
#endif // defined(__cpp_lib_atomic_flag_test) && __cpp_lib_atomic_flag_test >= 201907L
FMT_END_NAMESPACE FMT_END_NAMESPACE
#endif // FMT_STD_H_ #endif // FMT_STD_H_