|
|
|
@ -18,11 +18,13 @@ struct fmt::formatter<E, Char, std::enable_if_t<std::is_enum<E>::value>> : fmt::
|
|
|
|
|
using underlying_type = typename std::underlying_type<E>::type;
|
|
|
|
|
using parent = typename fmt::formatter<underlying_type>;
|
|
|
|
|
|
|
|
|
|
constexpr fmt::format_parse_context::iterator parse(fmt::format_parse_context &ctx) {
|
|
|
|
|
constexpr fmt::format_parse_context::iterator parse(fmt::format_parse_context &ctx)
|
|
|
|
|
{
|
|
|
|
|
return parent::parse(ctx);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fmt::format_context::iterator format(const E &e, format_context &ctx) const {
|
|
|
|
|
fmt::format_context::iterator format(const E &e, format_context &ctx) const
|
|
|
|
|
{
|
|
|
|
|
return parent::format(underlying_type(e), ctx);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
@ -32,11 +34,13 @@ struct fmt::formatter<T, Char, std::enable_if_t<std::is_base_of<StrongTypedefBas
|
|
|
|
|
using underlying_type = typename T::BaseType;
|
|
|
|
|
using parent = typename fmt::formatter<underlying_type>;
|
|
|
|
|
|
|
|
|
|
constexpr fmt::format_parse_context::iterator parse(fmt::format_parse_context &ctx) {
|
|
|
|
|
constexpr fmt::format_parse_context::iterator parse(fmt::format_parse_context &ctx)
|
|
|
|
|
{
|
|
|
|
|
return parent::parse(ctx);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fmt::format_context::iterator format(const T &t, format_context &ctx) const {
|
|
|
|
|
fmt::format_context::iterator format(const T &t, format_context &ctx) const
|
|
|
|
|
{
|
|
|
|
|
return parent::format(t.base(), ctx);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|